Polimorfisme
Terokai cara polimorfisme membolehkan kod yang fleksibel dan dinamik.
Polimorfisme ialah pelajaran Python Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 6. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Python Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Python Academy merangkumi sejumlah 6 pelajaran.
Pengenalan kepada Polimorfisme
Polimorfisme ialah konsep teras dalam Pengaturcaraan Berorientasikan Objek (PBO) that membolehkan objek daripada kelas yang berbeza dianggap sebagai objek daripada kelas induk yang sama. Polimorfisme memberikan fleksibiliti dan kebolehgunaan semula dalam kod.
Dalam pelajaran ini, Anda akan mempelajari cara melaksanakan polimorfisme dalam Python menggunakan kaedah dan kelas.

Apakah Polimorfisme?
Polimorfisme membolehkan kaedah dalam kelas yang berbeza berkongsi nama yang sama sambil berkelakuan secara berbeza. Polimorfisme menjadikan kod lebih fleksibel dan lebih mudah diperluas.
# Defining a superclass
class Animal:
# Method in the superclass
def speak(self):
print("Animal speaks") # Generic message for all animals
# Defining a subclass that overrides the speak method
class Dog(Animal):
def speak(self):
print("Dog barks") # Specific behavior for DogPolimorfisme with Kaedah
Kaedah dengan nama yang sama dalam kelas yang berbeza boleh menyediakan pelaksanaan yang berbeza.
# Another subclass with its own implementation of the speak method
class Cat(Animal):
def speak(self):
print("Cat meows") # Specific behavior for Cat
# Function demonstrating polymorphism
# It can accept objects of any subclass of Animal
def animal_sound(animal):
animal.speak() # Calls the appropriate speak method based on the object type
# Creating objects of Dog and Cat
dog = Dog()
cat = Cat()
# Calling the function with different objects
animal_sound(dog) # Outputs: Dog barks
animal_sound(cat) # Outputs: Cat meowsContoh Polimorfisme Kaedah
Polimorfisme with Kaedah
Kaedah dengan nama yang sama dalam kelas yang berbeza boleh menyediakan pelaksanaan yang berbeza.
# Another subclass with its own implementation of the speak method
class Cat(Animal):
def speak(self):
print("Cat meows") # Specific behavior for Cat
# Function demonstrating polymorphism
# It can accept objects of any subclass of Animal
def animal_sound(animal):
animal.speak() # Calls the appropriate speak method based on the object type
# Creating objects of Dog and Cat
dog = Dog()
cat = Cat()
# Calling the function with different objects
animal_sound(dog) # Outputs: Dog barks
animal_sound(cat) # Outputs: Cat meowsPolimorfisme with Fungsi
Polimorfisme membolehkan fungsi yang sama beroperasi pada jenis objek yang berbeza.
# Defining two unrelated classes
class Bird:
def fly(self):
print("Bird flies") # Behavior specific to birds
class Plane:
def fly(self):
print("Plane flies") # Behavior specific to planes
# Function demonstrating polymorphism
# It can accept objects of both Bird and Plane
def flying_object(obj):
obj.fly() # Calls the appropriate fly method based on the object type
# Creating objects of Bird and Plane
bird = Bird()
plane = Plane()
# Calling the function with different objects
flying_object(bird) # Outputs: Bird flies
flying_object(plane) # Outputs: Plane fliesPolimorfisme with Pewarisan
Polimorfisme sering dicapai melalui pewarisan, iaitu subkelas mengatasi kaedah daripada kelas induk.
# Superclass representing a generic vehicle
class Vehicle:
def start(self):
print("Vehicle starts") # Generic behavior for all vehicles
# Subclass representing a specific type of vehicle
class Car(Vehicle):
def start(self):
print("Car starts") # Specific behavior for cars
# Subclass representing another specific type of vehicle
class Bike(Vehicle):
def start(self):
print("Bike starts") # Specific behavior for bikes
# Function demonstrating polymorphism
# It can accept objects of any subclass of Vehicle
def start_vehicle(vehicle):
vehicle.start() # Calls the appropriate start method based on the object type
# Creating objects of Car and Bike
car = Car()
bike = Bike()
# Calling the function with different objects
start_vehicle(car) # Outputs: Car starts
start_vehicle(bike) # Outputs: Bike startsKelebihan Polimorfisme
Polimorfisme menawarkan beberapa manfaat:
- Kebolehgunaan semula dan fleksibiliti kod.
- Kebolehbacaan dan penyusunan kod yang lebih baik.
- Menggalakkan penggunaan antara muka lazim.
Contoh Dunia Sebenar
Berikut ialah contoh dunia sebenar menggunakan polimorfisme.
# Real-world example of polymorphism
class Developer:
def work(self):
print("Writing code") # Specific task for developers
class Designer:
def work(self):
print("Designing user interfaces") # Specific task for designers
# Function demonstrating polymorphism
# It can accept objects of both Developer and Designer
def workday(employee):
employee.work() # Calls the appropriate work method based on the object type
# Creating objects of Developer and Designer
developer = Developer()
designer = Designer()
# Calling the function with different objects
workday(developer) # Outputs: Writing code
workday(designer) # Outputs: Designing user interfacesKesilapan Lazim with Polimorfisme
Berikut ialah beberapa kesilapan yang perlu dielakkan:
- Terlupa mengatasi kaedah dalam subkelas apabila diperlukan.
- Keliru tentang susunan resolusi kaedah (MRO) dalam pewarisan berbilang.
- Menggunakan polimorfisme secara tidak perlu untuk tugasan mudah.
Apakah yang Dipelajari?
Dalam pelajaran ini, Anda telah mempelajari:
- Apakah polimorfisme dan cara polimorfisme berfungsi dalam Python.
- Cara melaksanakan polimorfisme dengan kaedah dan pewarisan.
- Kelebihan menggunakan polimorfisme dalam PBO.
Syabas! Mari beralih ke topik seterusnya.

Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 76
- Pelajaran
- 320
Soalan Lazim
Adakah pelajaran “Polimorfisme” percuma?
Ya — teks penuh “Polimorfisme” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Python Academy, tingkat taraf kepada CoddyKit PRO. Kursus Python Academy merangkumi sejumlah 6 pelajaran.
Apakah yang akan saya pelajari dalam “Polimorfisme”?
Terokai cara polimorfisme membolehkan kod yang fleksibel dan dinamik. Anda berlatih Python Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Python Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Python Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 6.
Berapa lamakah pelajaran “Polimorfisme” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Python Academy ini?
Ya. Setiap pelajaran Python Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Kelas dan Objek
- Atribut dan Kaedah
- Pewarisan
- Polimorfisme
- Pengkapsulan dan Pengabstrakan
- Kaedah Ajaib (__str__, __repr__, dll.)