python 類的繼承

2021-08-26 12:07:32 字數 2088 閱讀 6135

1.python繼承父類,子類可以呼叫父類的方法,也可以呼叫自己的方法。

class person(object):   # 定義乙個父類

def talk(self): # 父類中的方法

print("person is talking....")

class chinese(person): # 定義乙個子類, 繼承person類

def walk(self): # 在子類中定義其自身的方法

print('is walking...')

c = chinese()

c.talk() # 呼叫繼承的person類的方法

c.walk() # 呼叫本身的方法

2.建構函式的繼承,也就是在父類需要實際引數時,子類對父類繼承,需要繼承父類的__init__-----構造方法先,方式主要有兩種:

·經典類的寫法: 父類名稱.__init__(self,引數1,引數2,...)

·新式類的寫法:super(子類,self).__init__(引數1,引數2,....)

class person(object):

def __init__(self, name, age):

self.name = name

self.age = age

self.weight = 'weight'

def talk(self):

print("person is talking....")

class chinese(person):

def __init__(self, name, age, language): # 先繼承,在重構

person.__init__(self, name, age) #繼承父類的構造方法,也可以寫成:super(chinese,self).__init__(name,age)

self.language = language # 定義類的本身屬性

def walk(self):

print('is walking...')

class american(person):

pass

if __name__ == "__main__":

c = chinese('bigberg', 22, 'chinese')

c.walk()

c.talk()

重寫子類的構造方法。如果是父類構造方法中只有私有屬性,子類不需要繼承也無法繼承,但是可以通過函式呼叫來使用父類的屬性。

3.類中的靜態變數

class person(object):  # 定義乙個父類

name = 123

def talk(self,age): # 父類中的方法

print("person is talking....")

self.age = age

print self.name

print age

def work(self):

print self.age

class chinese(person): # 定義乙個子類, 繼承person類

def walk(self): # 在子類中定義其自身的方法

print('is walking...')

class student:

p = person

name = p.name #其實這相當於給student建立了乙個name的屬性,不過他是從person類中例項出來的

def talk(self):

print self.name

c = chinese()

c.talk(2) # 呼叫繼承的person類的方法

c.walk()

c.work()

s = student()

s.talk()

注意:其中的name實際上相當於person類的屬性,可以在該類中呼叫,前面需要跟self引數,如果不是繼承的類,可以在那個類中先建立person的類例項,然後當成自己的屬性,在方法中呼叫。

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 呼...