classperson(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關係
classstudent(book):
pass
has關係應該使用組合而非繼承
classperson(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類繼承:
classperson(object):
def__init__
(self, name, gender):
self.name =name
self.gender = gender
定義student類時,只需要把額外的屬性加上,例如score:
classstudent(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 呼...