色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Python面向對象程序設計之繼承、多態原理與用法詳解

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

本文實例講述了Python面向對象程序設計之繼承、多態原理與用法。分享給大家供大家參考,具體如下:

相關內容:

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

多態

繼承: 在Python3中,不寫基類的類默認繼承object 繼承就是子類獲得了父類的全部功能:比如學生和老師都有“姓名,性別,年齡、ID”等學校人員屬性,如果學生和老師都直接繼承學校人員的“姓名,性別,年齡、ID”,那么就不必要在學生類和老師類中重復定義了。 繼承指定類的方式是:class 類名(基類名Python面向對象程序設計之繼承、多態原理與用法詳解

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

上述結果顯示,Student繼承了SchoolPerson中的study函數

python支持多繼承:class SubClassName (ParentClass1[, ParentClass2, ...]): 對象對于屬性【包括變量和函數】的查找路徑:本實例對象--》本類--》基類【如果有多個基類,從左到右到基類中查找】 可以調用基類的__init__方法: 方式有兩種:Python面向對象程序設計之繼承、多態原理與用法詳解,建議使用super,避免錯誤使用多次基類的__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) 對于多繼承中的調用基類的__init__:無論多少個基類,也只會調用一次基類的__init__

Python面向對象程序設計之繼承、多態原理與用法詳解Python面向對象程序設計之繼承、多態原理與用法詳解Python面向對象程序設計之繼承、多態原理與用法詳解

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

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()--------------------------結果:i am student,i want to study多態:

Python面向對象程序設計之繼承、多態原理與用法詳解

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

class Animal: def __init__(self, name): self.name = name def talk(self): pass @staticmethod ####如果硬要說多態,建議使用靜態方法來處理,而非普通函數 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() ###這也是一個能實現功能的函數,因此python多態才具有爭議性Animal.animal_talk(c)Animal.animal_talk(d)

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python面向對象程序設計入門與進階教程》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美日韩国产亚洲综合不卡 | 姐姐真漂亮在线视频中文版 | 一级国产a级a毛片无卡 | 2021国产精品自在拍在线播放 | 最新精品国产 | 国产福利精品在线观看 | 成年男人午夜片免费观看 | www.久操| 欧美日韩国产亚洲一区二区三区 | 日韩欧美一区二区三区在线观看 | 亚洲成a人在线播放www | 六月丁香久久丫 | 日韩国产欧美在线观看 | 国产一国产一级毛片视频在线 | 男女视频免费在线观看 | 亚洲系列中文字幕一区二区 | 国产91久久精品一区二区 | 亚洲一区二区三区高清 | 国产精品观看在线亚洲人成网 | 日韩午夜在线视频不卡片 | 特级a欧美孕妇做爰片毛片 特级a欧美做爰片毛片 | www中文字幕在线观看 | www.黄色片网站 | 免费看成人毛片 | 国产精品久久久久久久久久久威 | 欧美影院网站视频观看 | 久久在线影院 | 在线视频 日韩 | 欧美三区在线观看 | 亚洲精品亚洲一区二区 | 九九九九精品视频在线播放 | 99久久精品6在线播放 | 亚洲精品综合一区二区三区在线 | 亚洲人成在线影院 | 国产成人亚洲合集青青草原精品 | 国产成人免费高清在线观看 | 国产精品九九九久久九九 | 自拍偷在线精品自拍偷无码专区 | 在线观看日本永久免费视频 | 美女被cao免费看在线看网站 | 在线看欧美日韩中文字幕 |