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

WBOY
Lepaskan: 2024-02-24 17:40:03
ke hadapan
801 orang telah melayarinya

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
Salin selepas log masuk

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)
Salin selepas log masuk

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
Salin selepas log masuk
  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
Salin selepas log masuk

Kini kita boleh mendapatkan umur objek melalui person.get_age():

print(person.get_age())# 输出:30
Salin selepas log masuk
  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
Salin selepas log masuk

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)
Salin selepas log masuk

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!

sumber:lsjlt.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan