python 類的繼承

2022-03-02 12:14:11 字數 1402 閱讀 8134

class

person(object):

pass

class

student(person):

pass

p =person()

s = student()

p是乙個person,p不是乙個student

s是乙個person,s也是乙個student

此方法用於初始化父類

def

__init__

(self,args):

super(subclass,self).

__init__

(args)

pass

student和book是has關係

class

student(book):

pass

has關係應該使用組合而非繼承

class

person(object):

pass

class

book(object):

def__init__

(self,name):

self.name =name

class

student(person):

def__init__

(self,bookname):

self.book = book(bookname)

如果已經定義了person類,需要定義新的student和teacher類時,可以直接從person類繼承:

class

person(object):

def__init__

(self, name, gender):

self.name =name

self.gender = gender

定義student類時,只需要把額外的屬性加上,例如score:

class

student(person):

def__init__

(self, name, gender, score):

super(student, self).

__init__

(name, gender)

self.score = score

一定要用 super(student, self).__init__(name, gender) 去初始化父類,否則,繼承自 person 的 student 將沒有 name 和 gender。

函式super(student, self)將返回當前類繼承的父類,即 person ,然後呼叫__init__()方法,注意self引數已在super()中傳入,在__init__()中將隱式傳遞,不需要寫出(也不能寫)。

python 類 繼承 python 類的繼承

1 所用的類都可以被繼承 2 沒有繼承其他類的類必然有乙個父類 object 3子類可以擁有父類的 init 裡的類容 派生子類除了父類的一些屬性,還會有自己的屬性和方法,這些就叫派生 如何使用 實現 class animal def init self,name,attack,hp self.na...

Python 類的繼承

有兩個模組 file1.py 和 file2.py file2中有個基類base def abc self return function abc and name self class base object def init self,name self.name name defrun sel...

Python 類的繼承

python中類的繼承,子類擁有繼承父類的方法和屬性,這一點上,與object c中是一樣的,整體上python語法和object c語法很想,但是swift與python這兩者是更像的語法上class parent 定義父類 parentattr 100 def init self print 呼...