Kelas ialah unit asas berorientasikan objek pengaturcaraan, yang mentakrifkan struktur dan tingkah laku objek. Dalam python, gunakan kata kunci kelas untuk mentakrifkan kelas dan nama kelas hendaklah bermula dengan huruf besar. Contohnya:
class Person: def __init__(self, name, age): self.name = name self.age = age
Kod di atas mentakrifkan kelas Orang, yang mempunyai dua atribut: nama dan umur. Kaedah init() ialah kaedah pembina kelas Ia dipanggil secara automatik apabila mencipta objek untuk memulakan sifat objek.
Sesuatu objek ialah pembentukkan kelas, dan ia mempunyai sifat dan kaedah kelas. Objek boleh dibuat dengan menambah nama kelas dalam kurungan, contohnya:
person = Person("John", 30)
Kod di atas mencipta objek kelas Orang dan menyerahkannya kepada orang berubah. Memandangkan objek orang itu mempunyai sifat nama dan umur, kita boleh mengaksesnya melalui pengendali titik:
print(person.name)# 输出:John print(person.age)# 输出:30
Kelas boleh mempunyai sifat dan kaedah. Sifat ialah pembolehubah kelas yang menyimpan keadaan objek. Kaedah ialah fungsi kelas yang boleh memanipulasi keadaan objek. Sebagai contoh, kita boleh menambah kaedah pada kelas Orang untuk mendapatkan umur objek:
class Person: def __init__(self, name, age): self.name = name self.age = age def get_age(self): return self.age
Kini kita boleh mendapatkan umur objek melalui person.get_age():
print(person.get_age())# 输出:30
Warisan adalah salah satu konsep terpenting dalam pengaturcaraan berorientasikan objek. Ia membenarkan satu kelas untuk mewarisi sifat dan kaedah daripada kelas lain. Sebagai contoh, kita boleh mencipta kelas Pelajar yang mewarisi daripada kelas Orang:
class Student(Person): def __init__(self, name, age, major): super().__init__(name, age) self.major = major
Kod di atas mencipta kelas Pelajar, yang mewarisi daripada kelas Orang. Kelas Pelajar mempunyai semua sifat dan kaedah kelas Orang, dan ia juga menambah major hartanah baharu.
Polymorphism ialah satu lagi konsep penting dalam pengaturcaraan berorientasikan objek. Ia membolehkan objek bertindak balas kepada mesej yang sama dengan cara yang berbeza. Sebagai contoh, jika kita mempunyai kelas Haiwan, ia boleh mempunyai subkelas yang berbeza seperti Kucing, Anjing dan Burung. Subkelas ini semuanya mewarisi sifat dan kaedah kelas Haiwan, tetapi mereka boleh bertindak balas terhadap tingkah laku yang sama dengan cara yang berbeza. Sebagai contoh, kita boleh memanggil kaedah make_sound() kelas Haiwan, tetapi subkelas Kucing, Anjing dan Burung akan melaksanakan kaedah ini secara berbeza:
class Animal: def make_sound(self): pass class Cat(Animal): def make_sound(self): print("Meow!") class Dog(Animal): def make_sound(self): print("Woof!") class Bird(Animal): def make_sound(self): print("Chirp!") def make_animals_sound(animals): for animal in animals: animal.make_sound() animals = [Cat(), Dog(), Bird()] make_animals_sound(animals)
Kod di atas mentakrifkan kelas Haiwan, yang mempunyai kaedah make_sound(). Kelas Kucing, Anjing dan Burung mewarisi daripada kelas Haiwan, dan kesemuanya melaksanakan kaedah make_sound(). Fungsi make_animals_sound() menerima senarai haiwan sebagai parameter dan memanggil kaedah make_sound() bagi setiap haiwan. Apabila fungsi make_animals_sound() dipanggil, objek Kucing, Anjing dan Burung akan bertindak balas kepada kaedah make_sound() dengan cara yang berbeza, sekali gus mencapai polimorfisme.
Atas ialah kandungan terperinci Dedahkan rahsia di sebalik kelas dan objek Python untuk membantu anda menguasai pengaturcaraan berorientasikan objek dengan mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!