av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

Python面向?qū)ο蟪绦蛟O(shè)計(jì)之繼承、多態(tài)原理與用法詳解

瀏覽:5日期:2022-08-01 15:22:33

本文實(shí)例講述了Python面向?qū)ο蟪绦蛟O(shè)計(jì)之繼承、多態(tài)原理與用法。分享給大家供大家參考,具體如下:

相關(guān)內(nèi)容:

繼承:多繼承、super、__init__、重寫父類變量或函數(shù)

多態(tài)

繼承: 在Python3中,不寫基類的類默認(rèn)繼承object 繼承就是子類獲得了父類的全部功能:比如學(xué)生和老師都有“姓名,性別,年齡、ID”等學(xué)校人員屬性,如果學(xué)生和老師都直接繼承學(xué)校人員的“姓名,性別,年齡、ID”,那么就不必要在學(xué)生類和老師類中重復(fù)定義了。 繼承指定類的方式是:class 類名(基類名Python面向?qū)ο蟪绦蛟O(shè)計(jì)之繼承、多態(tài)原理與用法詳解

class SchoolPerson: def study(self): print('it’s time to study')class Student(SchoolPerson):#繼承的方法 passa=Student()a.study()----------------------結(jié)果:it’s time to study

上述結(jié)果顯示,Student繼承了SchoolPerson中的study函數(shù)

python支持多繼承:class SubClassName (ParentClass1[, ParentClass2, ...]): 對象對于屬性【包括變量和函數(shù)】的查找路徑:本實(shí)例對象--》本類--》基類【如果有多個(gè)基類,從左到右到基類中查找】 可以調(diào)用基類的__init__方法: 方式有兩種:Python面向?qū)ο蟪绦蛟O(shè)計(jì)之繼承、多態(tài)原理與用法詳解,建議使用super,避免錯(cuò)誤使用多次基類的__init__

class SchoolPerson: def __init__(self,name,age,sex,mid): self.name=name self.age=age self.sex=sex self.mid=mid def study(self): print('it’s time to study')class Student(SchoolPerson):#繼承的方法 def __init__(self,name,age,sex,mid,grade): # super(Student,self).__init__(name,age,sex,mid) SchoolPerson.__init__(self,name,age,sex,mid) self.grade=grade def study(self): print('i am student,i want to study')a=Student(’A’,18,’m’,’001’,1)a.study()print(a.name,a.age,a.mid,a.grade) 對于多繼承中的調(diào)用基類的__init__:無論多少個(gè)基類,也只會調(diào)用一次基類的__init__

Python面向?qū)ο蟪绦蛟O(shè)計(jì)之繼承、多態(tài)原理與用法詳解Python面向?qū)ο蟪绦蛟O(shè)計(jì)之繼承、多態(tài)原理與用法詳解Python面向?qū)ο蟪绦蛟O(shè)計(jì)之繼承、多態(tài)原理與用法詳解

可以覆蓋父類中屬性【變量、函數(shù)】:

class SchoolPerson: def __init__(self,name,age,sex,mid): self.name=name self.age=age self.sex=sex self.mid=mid def study(self): print('it’s time to study')class Student(SchoolPerson):#繼承的方法 def __init__(self,name,age,sex,mid,grade): super(Student,self).__init__(name,age,sex,mid) self.grade=grade def study(self): print('i am student,i want to study')a=Student(’A’,18,’m’,’001’,1)a.study()--------------------------結(jié)果:i am student,i want to study多態(tài):

Python面向?qū)ο蟪绦蛟O(shè)計(jì)之繼承、多態(tài)原理與用法詳解

python是否具有多態(tài)具有爭議性。 但不論是否具有,這并不影響我們的具體使用。

class Animal: def __init__(self, name): self.name = name def talk(self): pass @staticmethod ####如果硬要說多態(tài),建議使用靜態(tài)方法來處理,而非普通函數(shù) def animal_talk(obj): obj.talk()class Cat(Animal): def talk(self): print(’喵!’)class Dog(Animal): def talk(self): print(’wang’)d = Dog('小黑')c = Cat('小白')# def animal_talk(obj):# obj.talk() ###這也是一個(gè)能實(shí)現(xiàn)功能的函數(shù),因此python多態(tài)才具有爭議性Animal.animal_talk(c)Animal.animal_talk(d)

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程》

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 欧美福利一区 | 国产精品剧情 | 免费av网站在线观看 | 少妇一级淫片免费观看 | 午夜免费视频 | 日本三级大片 | 国产成人在线免费视频 | 国产精品久久午夜夜伦鲁鲁 | 婷婷色在线 | 国产精品成人一区二区 | 亚洲天堂国产 | 中文在线观看免费视频 | 国产精品美女久久久久久久久 | 做爰xxxⅹ性生交 | 福利小视频在线观看 | 久久综合一区 | 久久精品在线 | 伊人网视频 | 国产一区二区精品丝袜 | 欧美成人久久 | 婷婷第四色| 少妇高潮毛片 | 伊人999| 三级在线免费观看 | 免费一区二区三区 | 在线免费观看日韩av | 日韩伦理在线播放 | 国产激情小说 | 国产乱码精品一区二区三 | 国产精品毛片一区视频播 | 亚洲高清毛片一区二区 | aaa黄色 | 国产片一区二区 | 免费黄色小视频 | 97国产在线观看 | 国产日韩精品视频 | 在线视频h | 日韩av影片 | 国产视频一二三 | 国产一区二区三区免费视频 | www性|