Python物件導向之 繼承

2022-07-27 14:09:17 字數 2570 閱讀 6959

情況一:  子類完全繼承父類所有的屬性和方法, 自己沒有一點更改.

class

person():

def__init__

(self, name, age):

self.name =name

self.age =age

defrun(self):

print("

跑步!"

)

defeat(self, food):

print("

吃%s!

"%food

)class

student(person):

pass # 用pass佔位, 完全繼承父類的一切, 而且不做任何修改.

stu = student("

tom", 18)

print

(stu.name, stu.age)

stu.run()

情況二:  子類繼承父類的所有屬性和方法,  而且自己想要增加新的方法.

class

person():

def__init__

(self, name, age):

self.name =name

self.age =age

defrun(self):

print("

跑步!"

)

defeat(self, food):

print("

吃%s!

"%food

)class

student(person):

def drink(self): # 增加父類中沒有的新的方法.

print("喝水!")

stu = student("

tom", 18)

print

(stu.name, stu.age)

stu.run()

#結果:

#tom 18

#跑步!

#

情況三:  子類繼承自父類,  但是自己想要完全替換掉父類中的某個方法.

class

person():

def__init__

(self, name, age):

self.name =name

self.age =age

defrun(self):

print("

跑步!"

)

defeat(self, food):

print("

吃%!"%food

)class

student(person):

def eat(self): # 重寫父類方法, 將會完全覆蓋掉原來的父類方法.

print("吃東西!")

stu = student("

tom", 18)

print

(stu.name, stu.age)

stu.run()

stu.eat()

#結果:

#tom 18

#跑步!

#吃東西!

情況四:  子類繼承父類的所有屬性和方法,  並且想在原有父類的屬性和方法的基礎上做擴充套件.

class

person():

def__init__

(self, name, age):

self.name =name

self.age =age

defrun(self):

print("

跑步!"

)

defeat(self, food):

print("

吃%s!

"%food)

class

student(person):

def__init__

(self, name, age, height):

super(student, self).

__init__(name, age) #

對父類屬性進行擴充套件

self.height = height #

super()內的(子類名, self)引數可以不寫

defeat(self, food):

super(student, self).eat(food)

#對父類方法進行擴充套件

print("

再吃乙個!

") #

super()內的(子類名, self)引數可以不寫

stu = student("

tom", 18, 175)

print

(stu.name, stu.age, stu.height)

stu.run()

stu.eat(

"")

# 再吃乙個!

Python物件導向之繼承

即乙個派生類 derived class 繼承基類 bass class 欄位和方法。繼承也允許把乙個派生類的物件作為乙個基類物件對待。例如,有這樣乙個設計,乙個cat型別的物件派生自animal類,這是模擬 是乙個 is a 關係 例如,cat是乙個animal 繼承實現了 的重用。繼承的基本語法...

Python 物件導向之繼承

繼承是指乙個物件直接使用另一物件的屬性和方法 子承父業 一般是類與類之間的。物件導向程式設計 oop 語言的乙個主要功能就是 繼承 繼承是指這樣一種能力 它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴充套件。通過繼承建立的新類稱為 子類 或 派生類 被繼承的類稱為 基類...

python物件導向之繼承

繼承具有傳遞性 當父類方法的實現不能滿足子類的需求的時候 可以對父類方法進行重寫 1.覆蓋父類方法 2.對父類的方法進行擴充套件 class animal def eat self print 吃!def drink self print 喝!def run self print 跑!def sle...