Day-14 繼承和多態(tài)

子類可以擁有父類所有的非私有的屬性和方法
子類可以重寫父類的方法
父類不能使用子類的方法

子類可以直接添加其他方法叨吮,也可以重寫父類方法
重寫:重新實現(xiàn)從父類繼承下來的方法
    a.完全重寫
        直接重新實現(xiàn)父類的方法
    b.保留父類實現(xiàn)的功能向族,再添加新功能
        super().fun()
        super().父類方法
對象和類調(diào)用方法的過程:先看當前類是否
存在這個方法莲绰,如果沒有,再從父類中找

class  Animal(object):
    number = 10
    def __init__(self):
        self.age = 0
        self.color = ''
    def eat(self):
        print('eat')
    @classmethod
    def get_number(cls):
        return  cls.number
class Dog(Animal):
    def look_after(self):
        print('s')
    # 完全重寫父類中的方法
    # def eat(self):
    #   print('w')
    # super()保留父類方法再重寫
    def eat(self):
        super().eat()
        print('s')
    @classmethod
    def get_number(cls):
        print(super().get_number())
if __name__ == '__main__':
    dog1 = Dog()
    dog1.eat()
    Dog.get_number()
    print(Animal.get_number())

對象屬性的繼承:是通過繼承init方法來繼承

class Person(object):
    def __init__(self,name,age):
        self.name = name
        self.age =age
class Staff(Person):
    # 添加對象屬性,重寫__init__方法
    # 如果要保留父類對象屬性,用super(),
    # 去調(diào)用父類的__init__方法
    def __init__(self,name,age,salary):
        super().__init__(name,age)
        self.salary =salary

if __name__ == '__main__':

    emp = Staff('s',22,'90K')
    print(emp.name,emp.age,emp.salary)

s 22 90K

多態(tài):子類繼承父類的方法来农,可以對方法進行重寫,
一個方法就有多種形態(tài)(多態(tài)的表現(xiàn))
繼承產(chǎn)生多態(tài)

重載:一個類中可以有多個名字相同的方法崇堰,就叫重載
Python中不支持方法的重載

運算符的重載:(重新定義運算符運算的過程)

备图、<、+赶袄、-
大于小于符號只需要重載其中的一個揽涮,另外一個的結果,
直接是重載的結果取反

class Student:
    def run(self, name):
        print('%s在跑' % name)
class Student2:
    def __init__(self, name='', age=0, height=0):
        self.name = name
        self.age = age
        self.height = height
    def __gt__(self, other):
        # 比較對象1>對象2的時候是比較的他們的height屬性
        return self.height > other.height
        # return self.age > other.age
        # return id(self) > id(other)

    # 重載:<
    def __lt__(self, other):
        return self.age < other.age

    # 重載: +
    def __add__(self, other):
        return self.age + other.age

    # 重載: -
    def __sub__(self, other):
        return self.height - other.height


if __name__ == '__main__':
    stu = Student()
    stu.run('余婷')

    stu1 = Student2('aa', 18, height=170)
    stu2 = Student2('bb', 20, height=140)

    if stu1 > stu2:
        print('學生1大于學生2啊啊')

    if stu1 < stu2:
        print('學生1大于學生2')
    else:
        print('學生2小于學生1')

    print(stu1 + stu2)
    print(stu1-stu2)

    print(100+200)
    print('abc'+'abc')

python內(nèi)存管理原理
內(nèi)存中有兩個特殊的區(qū)域:棧饿肺,堆

棧:棧中的內(nèi)存是系統(tǒng)自動管理(內(nèi)存的開辟和內(nèi)存的釋放)
作用域結束內(nèi)存釋放

堆:堆中的內(nèi)存都是需要寫程序去開辟和釋放的
(Python中自動開辟和釋放)

當一個對象沒有引用的時候蒋困,對象對應的內(nèi)存空間就會被釋放
(引用計數(shù)機制)
引用:存儲對象地址的變量


?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市敬辣,隨后出現(xiàn)的幾起案子雪标,更是在濱河造成了極大的恐慌,老刑警劉巖溉跃,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件村刨,死亡現(xiàn)場離奇詭異,居然都是意外死亡撰茎,警方通過查閱死者的電腦和手機嵌牺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來龄糊,“玉大人逆粹,你說我怎么就攤上這事§懦停” “怎么了僻弹?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長他嚷。 經(jīng)常有香客問我蹋绽,道長,這世上最難降的妖魔是什么筋蓖? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任卸耘,我火速辦了婚禮,結果婚禮上扭勉,老公的妹妹穿的比我還像新娘鹊奖。我一直安慰自己,他們只是感情好涂炎,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布忠聚。 她就那樣靜靜地躺著,像睡著了一般唱捣。 火紅的嫁衣襯著肌膚如雪两蟀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天震缭,我揣著相機與錄音赂毯,去河邊找鬼。 笑死拣宰,一個胖子當著我的面吹牛党涕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播巡社,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼膛堤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了晌该?” 一聲冷哼從身側響起肥荔,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎朝群,沒想到半個月后燕耿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡姜胖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年誉帅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片右莱。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡堵第,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出隧出,到底是詐尸還是另有隱情踏志,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布胀瞪,位于F島的核電站针余,受9級特大地震影響,放射性物質發(fā)生泄漏凄诞。R本人自食惡果不足惜圆雁,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望帆谍。 院中可真熱鬧伪朽,春花似錦、人聲如沸汛蝙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至坚洽,卻和暖如春戈稿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背讶舰。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工鞍盗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人跳昼。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓般甲,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鹅颊。 傳聞我的和親對象是個殘疾皇子敷存,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結構(3).初始化時...
    歐辰_OSR閱讀 29,392評論 8 265
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,103評論 1 32
  • 一:java概述: 1,JDK:Java Development Kit挪略,java的開發(fā)和運行環(huán)境历帚,java的開發(fā)...
    慕容小偉閱讀 1,790評論 0 10
  • 整理來自互聯(lián)網(wǎng) 1,JDK:Java Development Kit杠娱,java的開發(fā)和運行環(huán)境挽牢,java的開發(fā)工具...
    Ncompass閱讀 1,539評論 0 6
  • 迷迷糊糊的閱讀第一天(第二天,昨天已遲到) 昨天晚上11點前報名有讀的100天閱讀簽到計劃摊求。想培養(yǎng)自己閱讀的習慣禽拔。...
    拾葉姑娘閱讀 491評論 0 0