Terokai kelas dan objek Python dari awal dan bongkar misteri pengaturcaraan berorientasikan objek

WBOY
Lepaskan: 2024-02-24 13:40:48
ke hadapan
734 orang telah melayarinya

Terokai kelas dan objek Python dari awal dan bongkar misteri pengaturcaraan berorientasikan objek

1. Apakah itu kelas dan objek

Dalam python, kelas ialah rangka tindakan yang mentakrifkan kelakuan dan sifat sesuatu objek. Objek ialah contoh kelas dan mempunyai semua sifat dan kaedah yang ditakrifkan oleh kelas.

Kita boleh menentukan kelas melalui kata kunci class, seperti yang ditunjukkan di bawah:

class Person:
def __init__(self, name, age):
self.name = name
self.age = age

def greet(self):
print(f"Hello, my name is {self.name} and I am {self.age} years old.")
Salin selepas log masuk

Dalam kes ini, Person是一个类,它定义了两个属性nameage,以及一个方法greet().

Kita boleh mencipta objek pada Person kelas seperti berikut:

person = Person("John", 25)
person.greet()
Salin selepas log masuk

Dengan cara ini, kami telah mencipta kaedah bernama person的对象,并调用了它的greet().

2. Sifat dan kaedah kelas dan objek

Sesuatu kelas boleh mempunyai sebarang bilangan sifat dan kaedah. Sifat ialah keadaan kelas, dan kaedah ialah tingkah laku kelas.

Sifat kelas

boleh diakses melalui pengendali titik . seperti berikut:

print(person.name)
print(person.age)
Salin selepas log masuk

Sifat kelas juga boleh diubah suai melalui pengendali tugasan =, seperti ditunjukkan di bawah:

person.name = "Jane"
person.age = 30
Salin selepas log masuk

Sifat dan kaedah kelas boleh menggunakan self关键字来访问,self untuk mewakili rujukan kepada objek semasa.

Sifat dan kaedah kelas adalah awam, yang bermaksud ia boleh diakses di mana-mana dalam kelas.

3 Warisan ialah kaedah mencipta kelas baharu (kelas terbitan) yang mewarisi sifat dan kaedah daripada kelas sedia ada (kelas asas).

Kelas terbitan boleh mengatasi kaedah kelas asas untuk menyediakan pelaksanaan yang berbeza.

Kelas terbitan boleh dibuat menggunakan kata kunci

dan pengendali (), seperti yang ditunjukkan di bawah:

class Student(Person):
def __init__(self, name, age, major):
super().__init__(name, age)
self.major = major

def study(self):
print(f"{self.name} is studying {self.major}.")
Salin selepas log masuk
class关键字和()Dalam contoh ini, kelas Pelajar mewarisi daripada kelas dan kelas Pelajar menambah atribut major dan study() Kaedah.

Student类继承自Person类,Student类增加了major属性和study()

4

Polymorphism ialah ciri penting berorientasikan objek

pengaturcaraan

, yang membolehkan kita menggunakan cara bersatu untuk menangani pelbagai jenis objek. Salah satu cara untuk mencapai polimorfisme adalah dengan menggunakan kelas abstrak ialah kelas yang tidak boleh dijadikan instantiat, ia hanya boleh diwarisi. Kelas abstrak boleh digunakan

Modul ini menyediakan banyak penghias untuk menentukan kelas abstrak.

Kaedah dalam kelas abstrak boleh ditindih oleh subkelas untuk menyediakan pelaksanaan yang berbeza.

abc模块来定义,abcSatu lagi cara untuk mencapai polimorfisme ialah menggunakan antara muka ialah spesifikasi yang mentakrifkan satu set kaedah Ia tidak boleh digunakan, tetapi ia boleh dilaksanakan oleh kelas.

Sebuah kelas yang melaksanakan antara muka mesti melaksanakan semua kaedah yang ditakrifkan dalam antara muka.

Antara muka boleh digunakan

Modul ini menyediakan banyak anotasi jenis untuk menentukan antara muka.

5 typing模块来定义,typingKelas dan objek ialah asas pengaturcaraan berorientasikan objek. Mereka boleh membantu kami membina kod yang lebih jelas dan mudah diselenggara.

Warisan dan polimorfisme ialah ciri penting pengaturcaraan berorientasikan objek. Ia boleh membantu kami menggunakan semula kod dan mencipta atur cara yang lebih fleksibel.

Atas ialah kandungan terperinci Terokai kelas dan objek Python dari awal dan bongkar misteri pengaturcaraan berorientasikan objek. 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