Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Dedahkan rahsia di sebalik kelas dan objek Python untuk membantu anda menguasai pengaturcaraan berorientasikan objek dengan mudah

Dedahkan rahsia di sebalik kelas dan objek Python untuk membantu anda menguasai pengaturcaraan berorientasikan objek dengan mudah

WBOY
WBOYke hadapan
2024-02-24 17:40:03796semak imbas

Dedahkan rahsia di sebalik kelas dan objek Python untuk membantu anda menguasai pengaturcaraan berorientasikan objek dengan mudah

  1. Definisi kelas

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.

  1. Instasiasi 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
  1. Sifat dan kaedah

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
  1. Warisan

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.

  1. Polymorphic

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!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam