python 的繼承之override方法重寫

2021-10-02 03:48:14 字數 1148 閱讀 2861

override字面理解是無效,消除的意思,在python裡兩個同名的方法但執行不同程式,其中乙個方法使得另外乙個方法無效的,這就叫override(重寫)。

通常情況下,父類中的方法,而子類中有同名方法,在執行該方法時,呼叫的是該方法對應的類。

值得一提的是,這裡父類和子類在原文中是superclass(總綱)和subclass(亞綱),用的是生物學術語,反應出計算機中的類與生物學分類的核心思想相似

# 定義乙個矩形為父類

class rectangle():

def __init__(self,length,breadth):

self.length = length

self.breadth = breadth

def getarea(self):

print self.length*self.breadth," is area of rectangle"

# 定義乙個正方形為繼承矩形的子類

class square(rectangle):

def __init__(self,side):

self.side = side

rectangle.__init__(self,side,side)

# 重寫父類方法

def getarea(self):

print self.side*self.side," is area of square"

s = square(4)

r = rectangle(2,4)

s.getarea()

r.getarea()

square繼承了rectangle的變數和方法,此時getarea函式應該是def getarea(self):

print self.length*self.breadth," is area of rectangle",接著呼叫了square定義的getarea函式,使得原來從rectangle函式繼承的getarea無效,現在的getarea函式為

def getarea(self):

print self.side*self.side," is area of square"

我們在新建類的時候就不用想很多很多名字,想名字也是乙個頭疼的事情

什麼是python繼承 python之繼承

繼承 什麼是繼承 繼承是一種建立新類的方式,在python中,新建的類可以繼承乙個或多個父類,父類又可稱為原始類,新建的類稱為新類或子類 首先先建立乙個父類 classparentclass1 定義父類 passclassparentclass2 定義父類 passclasssubclass1 pa...

Python之繼承(概念,單繼承,多繼承)

父類 class 父類類名 object 類體 公共部分 子類 class 子類類名 父類類名 類體 子類特有的部分 定義父類 注意 如果沒有顯示的規定父類,則這個類的父類預設為object class person object 成員變數 def init self,name,age self.n...

python類之繼承

概述 編寫類時並非總是要從空白開始寫,乙個類繼承另乙個類,他將自動獲得另乙個類的所有屬性和方法 原有的類稱為父類,而新類稱為子類。子類繼承了其父類所有的屬性和方法,同時還可以定義自己的屬性和方法。1.定義子類,並且繼承父類 car是父類 class car def init self,make,mo...