Pelajari AI dengan Python · Pelajaran

Polimorfisme

Terokai cara polimorfisme membolehkan kod yang fleksibel dan dinamik

Pelajaran 4 daripada 612 langkah

Polimorfisme ialah pelajaran Pelajari AI dengan Python percuma di CoddyKit. Ini ialah pelajaran 4 daripada 6. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pelajari AI dengan Python, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pelajari AI dengan Python merangkumi sejumlah 6 pelajaran.

Pengenalan kepada Polimorfisme

Polimorfisme ialah konsep teras dalam Pengaturcaraan Berorientasikan Objek (OOP) yang 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.

Polimorfisme — ilustrasi 1

Apakah Polimorfisme?

Polimorfisme membolehkan kaedah dalam kelas yang berbeza berkongsi nama yang sama sambil berkelakuan secara berbeza. Ciri ini menjadikan kod lebih fleksibel dan lebih mudah dikembangkan.

# 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 Dog

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 meows

Contoh 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 meows

Polimorfisme 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 flies

Polimorfisme with Pewarisan

Polimorfisme sering dicapai melalui pewarisan, iaitu apabila 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 starts

Kelebihan Polimorfisme

Polimorfisme menawarkan beberapa manfaat:

  • Kebolehgunaan semula dan fleksibiliti kod.
  • Keterbacaan dan penyusunan kod yang lebih baik.
  • Menggalakkan penggunaan antara muka yang sama.

Contoh Dunia Sebenar

Berikut ialah contoh polimorfisme dalam dunia sebenar.

# 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 interfaces

Kesilapan Lazim dengan Polimorfisme

Berikut ialah beberapa kesilapan yang perlu dielakkan:

  • Terlupa mengatasi kaedah dalam subkelas apabila diperlukan.
  • Mengelirukan urutan penyelesaian kaedah (MRO) dalam pewarisan berbilang.
  • Menggunakan polimorfisme tanpa keperluan untuk tugasan mudah.

Apakah yang Telah Kita Pelajari?

Dalam pelajaran ini, anda telah mempelajari:

  • Maksud polimorfisme dan cara polimorfisme berfungsi dalam Python.
  • Cara melaksanakan polimorfisme menggunakan kaedah dan pewarisan.
  • Kelebihan menggunakan polimorfisme dalam OOP.

Tahniah! Mari kita beralih kepada topik seterusnya.

Polimorfisme — ilustrasi 12
Percuma untuk bermula

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
53
Pelajaran
225

Soalan Lazim

Adakah pelajaran “Polimorfisme” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pelajari AI dengan Python, termasuk “Polimorfisme”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pelajari AI dengan Python merangkumi sejumlah 6 pelajaran.

Apakah yang akan saya pelajari dalam “Polimorfisme”?

Terokai cara polimorfisme membolehkan kod yang fleksibel dan dinamik Anda berlatih Pelajari AI dengan Python 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 Pelajari AI dengan Python?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pelajari AI dengan Python 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 Pelajari AI dengan Python ini?

Ya. Setiap pelajaran Pelajari AI dengan Python 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

  1. Kelas dan Objek
  2. Atribut dan Kaedah
  3. Pewarisan
  4. Polimorfisme
  5. Pengkapsulan dan Abstraksi
  6. Kaedah Ajaib (__str__, __repr__ dan sebagainya)
← Kembali ke Pelajari AI dengan Python