Python是一門優(yōu)秀的編程語(yǔ)言,具有簡(jiǎn)單易學(xué)、代碼可讀性高、支持多種編程范式等特點(diǎn)。Python中的面向?qū)ο缶幊蹋∣OP)是其重要特性之一,其中最常見的概念就是類和對(duì)象的父子關(guān)系。
class Animal: def __init__(self, name): self.name = name def eat(self): print('I am eating...') class Cat(Animal): def catch_mouse(self): print('I am catching mouse...') cat = Cat('Tom') print(cat.name) cat.eat() cat.catch_mouse()
在Python中,如果一個(gè)類繼承自另一個(gè)類,那么前者就是后者的子類,后者就是前者的父類。在上面的代碼中,我們定義了一個(gè)動(dòng)物類(Animal),其中包含一個(gè)初始化方法和一個(gè)吃飯方法。接著我們定義了一個(gè)貓類(Cat),它繼承了動(dòng)物類,并添加了一個(gè)抓老鼠方法。最后我們實(shí)例化了一個(gè)貓類的對(duì)象(cat),并調(diào)用了它繼承自動(dòng)物類的屬性和方法,并使用自己添加的方法進(jìn)行操作。
父子關(guān)系的作用在于,可以讓子類繼承父類的屬性和方法,避免重復(fù)編寫代碼。此外,子類也可以添加自己的屬性和方法,擴(kuò)展父類的功能。
class Student: def __init__(self, name, age): self.name = name self.age = age def study(self): print('I am studying...') class PrimarySchoolStudent(Student): def play(self): print('I am playing...') class MiddleSchoolStudent(Student): def exam(self): print('I am taking exam...') p_student = PrimarySchoolStudent('Tom', 8) m_student = MiddleSchoolStudent('Jerry', 12) print(p_student.name) print(m_student.age) p_student.study() m_student.exam()
在上述代碼中,我們定義了一個(gè)學(xué)生類(Student),其中包含一個(gè)初始化方法和一個(gè)學(xué)習(xí)方法。接著我們定義了一個(gè)小學(xué)生類(PrimarySchoolStudent)和一個(gè)中學(xué)生類(MiddleSchoolStudent),它們都是學(xué)生類的子類,分別添加了自己的玩耍和考試方法。最后我們實(shí)例化了一個(gè)小學(xué)生的對(duì)象(p_student)和中學(xué)生的對(duì)象(m_student),并調(diào)用了它們自己和繼承自學(xué)生類的屬性和方法。
父子關(guān)系是面向?qū)ο缶幊讨械闹匾拍睿莆账鼘?duì)于Python的學(xué)習(xí)和項(xiàng)目開發(fā)都是很有幫助的。