python學習之繼承和多型

2022-02-17 09:10:29 字數 1461 閱讀 1217

#

!/home/miao/python python3

#-*- coding: utf-8 -*-

'這是關於繼承和多型

'class

parent(object):

def__init__

(self,name,age):

self.

__name =name

self.age =age

defget_name(self):

print(self.__name

)

defset_name(self,name):

self.

__name =name

defrun(self):

print('

dad running...')

class

childone(parent):

defrun(self):

print('

child running...')

#這裡類childone從父類中繼承了其中的函式定義,這是自己定義的一種資料型別

#在定義乙個childone型別的變數時要重新傳入引數

parent = parent('

aa',45)

print

(parent.age)

child = childone('

bb',23)

print

(child.age)

child.get_name()

child.set_name(

'miao')

child.get_name()

class

dog(object):

def__init__

(self,name,age):

self.name =name

self.age =age

defget_name(self):

print

(self.name)

defrun(self):

print('

dog running...')

dog = dog('

cc',10)

defprint1_twice(parent):

parent.get_name()

parent.get_name()

#多型性,從父類繼承的型別可以直接使用。子類也是父類的型別,

#注意這裡傳入的是變數 所以我犯了很嚴重的錯誤 變數後加了括號 這樣就變成了函式 @實屬不該

print1_twice(child)

#print1_twice(parent()) 類似於這樣

#鴨子型別當型別相似,即都擁有get_name()即為相似的走路姿勢,只要有get_name()這個函式就被看作是 鴨子, 姿勢像鴨子就是鴨子

#print1_twice(dog())

python學習筆記 繼承和多型

程式設計中的繼承和多型其實跟生物學中的遺傳非常類似。例如兒子與父親相比較,有很多相同的地方,那麼這就是遺傳 但是父子間也有很多不一樣的地方,那麼這就是變異,也就是多型。python中的student類繼承了people類中的所有方法和屬性,那麼就有了people所有的屬性和方法。當然student也...

Python 繼承和多型

廖雪峰python 教程筆記 class animal object 父類 def run self print animal is running.class dog animal 子類 def run self print dog is running.class cat animal 子類 d...

python學習筆記8 繼承和多型

比如,我們已經編寫了乙個名為animal的class,有乙個run 方法可以直接列印 class animal object def run self print animal is running.當我們需要編寫dog和cat類時,就可以直接從animal類繼承 class dog animal ...