校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Python 面向對象編程的三大特性之繼承

Python 面向對象編程的三大特性之繼承

熱門標簽:萊蕪電信外呼系統 企業微信地圖標注 怎么辦理400客服電話 沈陽防封電銷電話卡 銀川電話機器人電話 高德地圖標注收入咋樣 鶴壁手機自動外呼系統違法嗎 地圖標注多個 B52系統電梯外呼顯示E7

Python  面向對象編程的三大特性之繼承

一、繼承

  • 繼承也是面向對象編程三大特性之一
  • 繼承是類與類的一種關系
  • 定義一個新的 class 時,可以從某個現有的 class 繼承
  • 新的 class 類就叫子類(Subclass
  • 被繼承的類一般稱為父類基類、超類
  • 通俗理解:子類與父類的關系,即爸爸與兒子,爸爸有了個兒子,兒子繼承爸爸的屬性和方法,爸爸的爸爸就是爺爺...以此類推

1、繼承的實際栗子

  • 貓、狗都是動物,所以動物是父類,貓、狗是動物的子類
  • 小菠蘿、大菠蘿都是人類,所以人類是父類,小菠蘿、大菠蘿是人類的子類
  • 動物、人類都是生物,所以生物是父類,動物、人類是生物的子類
  • 那么一般稱生物類是貓、狗、小菠蘿、大菠蘿的超類、祖父類

2、繼承的好處

  • 實現代碼的重用,相同的代碼不需要重復編寫
  • 子類擁有父類的所有屬性、方法,提高了代碼的可擴展性和重用性
  • 在子類繼承父類的同時,也可以重新定義某些屬性,并重寫某些方法,即覆蓋父類的屬性、方法,變成子類獨有的屬性、方法
  • 子類也可以添加新的屬性、方法

3、繼承的使用場景

  • 假如我需要定義幾個類,而類與類之間有一些公共的屬性和方法
  • 可以把公共的屬性和方法提取作為父類(基類)的屬性、方法,而特殊的屬性、方法則在本類中定義
  • 比如貓、狗都有吃喝拉撒四種行為,這些就是公共方法;但只有貓會喵喵叫,只有狗會汪汪叫,這些就是特殊方法

具體可以看下面的【不使用繼承、使用繼承的區別】

4、繼承有幾種?

單繼承
多繼承

5、Python 中繼承的簡單語法

class Parent:
    pass

class Child(Parent):
    pass

有個重點:

所有類的都有一個共同父類,就是 object,默認會繼承它,寫或不寫都一樣

class Parent:
    pass

class Parent(object):
    pass

二、不使用繼承、使用繼承的區別

1、需求背景

有一個動物類、狗類、貓類

  • 動物類有吃、喝、跑方法
  • 狗類有吃、喝、跑、汪汪叫方法
  • 貓類有吃、喝、跑、喵喵叫方法

2、不使用繼承

類圖

需求分析

  • 每個類都擁有自己的方法
  • 他們都擁有吃、喝、拉方法,且功能一樣

實際代碼:

# 不使用繼承
class Animal:
    def eat(self):
        print("吃東西...")

    def drink(self):
        print("喝水...")

    def run(self):
        print("跑步...")


class Cat:
    def eat(self):
        print("吃東西...")

    def drink(self):
        print("喝水...")

    def run(self):
        print("跑步...")

    def miao(self):
        print("喵喵叫...")


class Dog:
    def eat(self):
        print("吃東西...")

    def drink(self):
        print("喝水...")

    def run(self):
        print("跑步...")

    def wang(self):
        print("汪汪叫...")
 

這樣寫有什么問題?

  • 三個類,需要重復寫三次吃、喝、跑的方法
  • 假設此時需要修改 吃 方法的代碼,那么還得同步修改三個類的 吃 方法,屬于不必要的重復性工作
  • 使用繼承可以大大減少開發工作量

2、使用繼承

類圖

從類圖就能看到,使用繼承就變得簡單多了

需求分析

  • 提取三個類的公共方法,吃、喝、跑,然后抽象成動物類
  • 所以動物類是一個父類,狗類、貓類繼承它

實際代碼:

# 使用繼承
class Animal:
    def eat(self):
        print("吃東西...")

    def drink(self):
        print("喝水...")

    def run(self):
        print("跑步...")


class Cat(Animal):
    def miao(self):
        print("喵喵叫...")


class Dog(Animal):
    def wang(self):
        print("汪汪叫...")
 

優勢:

  • 子類繼承父類,可以直接享受父類已經封裝好的方法,不再需要自己開發一次
  • 子類可以根據自身的需要,封裝子類獨有的屬性、方法,比如貓類的喵喵叫,狗類的汪汪叫 

專業術語總結

  • Dog 類是 Animale 類的子類,Animal 類是 Dog 類的父類,Dog 類從 Animal 類繼承
  • Dog 類是 Animale 類的派生類,Animal 類是 Dog 類的基類,Dog 類從 Animal 類派生

三、繼承的傳遞性

1、什么是傳遞性

通俗來講

  • C 類從 B 類繼承,B 類又從 A 類繼承
  • 那么 C 類會擁有 A、B 類的所有屬性和方法 

官方來講

  • 子類擁有父類以及父類的父類,以及所有父類的父類的父類...中封裝的所有屬性、方法

實際栗子:

  • 還是拿上面的動物類、狗類、貓類繼續展開講
  • 假設此時有一個新的類叫柴犬類,繼承于狗類,有獨有的方法搖尾巴

類圖

實際代碼:

class Animal:
    def eat(self):
        print("吃東西...")

    def drink(self):
        print("喝水...")

    def run(self):
        print("跑步...")


class Cat(Animal):
    def miao(self):
        print("喵喵叫...")


class Dog(Animal):
    def wang(self):
        print("汪汪叫...")


class Chai(Dog):
    def shake(self):
        print("小柴柴搖尾巴...")


chai = Chai()
# 調用 父類的父類 的方法
chai.eat()
# 調用 父類 的方法
chai.wang()
# 調用 自己獨有 的方法
chai.shake()


# 輸出結果
吃東西...
汪汪叫...
小柴柴搖尾巴...


  • Chai 類擁有 Dog 類、Animal 類所有屬性、方法
  • 但它不會擁有 Cat 類的屬性、方法,因為他們沒有繼承關系

四、繼承和抽象

抽象即抽取類似或者說比較像的部分

小栗子:

  • 從小菠蘿、小韻韻兩個對象中,抽取公共部分抽象成父類
  • 再從人,豬,狗這三個類,抽取公共部分抽象成父類

1、繼承的重點

  • 是基于抽象的結果,通過編程語言去實現它
  • 先經歷抽象這個過程,才能通過繼承的方式去表達出抽象的結構
  • 抽象只是分析和設計的過程中,一個動作或者說一個技巧,通過抽象得到一個類

代碼栗子:

class Animal:
    def __init__(self, name, age, sex):
        self.__name = name
        self.__age = age
        self.__sex = sex

    # 提取的公共方法
    def eat(self):
        print(f"{self.__name} 正在吃飯....")

    @property
    def name(self):
        return self.__name


class Person(Animal):
    def walk(self):
        print(f"{self.name} 兩條腿正在走路")


class Pig(Animal):
    def kill(self):
        print(f"{self.name} 豬正在去屠宰場ing...")


class Dog(Animal):
    def wang(self):
        print(f"{self.name} 汪汪叫ing...")


person = Person("小菠蘿", 25, "Male")
pig = Pig("麥兜", 4, "公")
dog = Dog("柴犬", 3, "母")

# 調用父類的公共方法
person.eat()
pig.eat()
dog.eat()

# 調用子類獨有的方法
person.walk()
pig.kill()
dog.wang()

 

# 輸出結果
小菠蘿 正在吃飯....
麥兜 正在吃飯....
柴犬 正在吃飯....

小菠蘿 兩條腿正在走路
麥兜 豬正在去屠宰場ing...
柴犬 汪汪叫ing...

以上就是Python  面向對象編程的三大特性之繼承的詳細內容,更多關于Python  面向對象編程的繼承的資料請關注腳本之家其它相關文章!希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python中關于面向對象概念的詳細講解
  • Python 多繼承中的一個詭異現象 既是 Father又是grandfather
  • python接口,繼承,重載運算符詳解
  • python面向對象之類的繼承詳解
  • Python中關于面向對象中繼承的詳細講解

標簽:烏魯木齊 安慶 呼倫貝爾 湘西 葫蘆島 呼倫貝爾 銀川 三亞

巨人網絡通訊聲明:本文標題《Python 面向對象編程的三大特性之繼承》,本文關鍵詞  Python,面向,對象,編程,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python 面向對象編程的三大特性之繼承》相關的同類信息!
  • 本頁收集關于Python 面向對象編程的三大特性之繼承的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美大片顶级少妇| 一区二区三区欧美视频| 亚洲另类春色校园小说| 免费观看在线色综合| 日本高清无吗v一区| 亚洲精品一线二线三线无人区| 一区二区三区欧美激情| 国产一区二区三区免费| 日韩一区二区在线播放| 一片黄亚洲嫩模| 97精品国产97久久久久久久久久久久| 日韩欧美在线影院| 国产精品久久99| 经典三级视频一区| 亚洲私人影院在线观看| 亚洲成人在线观看视频| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 青青草国产精品亚洲专区无| 91麻豆视频网站| 亚洲图片你懂的| 不卡视频一二三| 国产精品久久久久久福利一牛影视 | 国产一区 二区| 精品99一区二区| 精品一区二区三区在线视频| 日韩一级视频免费观看在线| 亚洲成人av一区二区| 欧美在线视频你懂得| 亚洲资源在线观看| 91久久一区二区| 亚洲一区二区综合| 欧美电影在哪看比较好| 日韩av电影免费观看高清完整版 | 色综合欧美在线视频区| 亚洲女女做受ⅹxx高潮| 色婷婷国产精品久久包臀| 一二三四社区欧美黄| 欧美在线免费观看亚洲| 亚洲成人自拍网| 日韩精品中文字幕一区| 国产一本一道久久香蕉| 中文字幕精品—区二区四季| 91小宝寻花一区二区三区| 亚洲摸摸操操av| 欧美日韩一区二区三区视频| 日韩不卡在线观看日韩不卡视频| 欧美一级欧美一级在线播放| 狠狠色综合日日| 国产精品卡一卡二卡三| 欧美日韩亚洲综合在线| 喷白浆一区二区| 国产精品私人影院| 欧美系列在线观看| 国产精品中文有码| 亚洲一区二区免费视频| 色欧美日韩亚洲| 日本不卡中文字幕| 国产欧美日本一区二区三区| 91首页免费视频| 青椒成人免费视频| 国产精品色眯眯| 69av一区二区三区| 国产成人久久精品77777最新版本| 亚洲女子a中天字幕| 精品欧美一区二区三区精品久久| 国产91高潮流白浆在线麻豆| 亚洲电影第三页| 亚洲国产高清在线观看视频| 精品视频一区 二区 三区| 国产在线精品一区二区三区不卡| 亚洲精品国产精品乱码不99| 精品日韩成人av| 色播五月激情综合网| 麻豆91在线播放| 亚洲美女一区二区三区| 国产精品国模大尺度视频| 国产欧美日韩久久| 欧美性猛片aaaaaaa做受| 国产一区高清在线| 亚洲一区二区三区中文字幕在线| 久久理论电影网| 91精品国产高清一区二区三区| 成人黄色在线看| 美女一区二区视频| 一区二区三区中文字幕在线观看| 久久综合久久综合亚洲| 欧美日韩一区 二区 三区 久久精品| 国产精一区二区三区| 亚洲一区二区三区四区中文字幕| 欧美国产精品中文字幕| 精品免费日韩av| 日韩一区二区三区电影 | 蜜臀国产一区二区三区在线播放| 亚洲视频在线一区| 久久久久久久电影| 爽好多水快深点欧美视频| 日韩一区二区三| 欧美日韩久久久一区| 91蜜桃在线观看| av不卡一区二区三区| 国产一区二区免费看| 久久99精品久久久久久久久久久久| 亚洲激情图片一区| 亚洲四区在线观看| 亚洲欧洲精品成人久久奇米网| 国产欧美一区二区精品性色超碰| 精品粉嫩aⅴ一区二区三区四区| 欧美夫妻性生活| 欧美日韩黄色影视| 欧美日韩午夜在线视频| 欧美日韩美女一区二区| 欧美日韩一二三| 欧美电影免费观看高清完整版在| 欧美日韩激情在线| 91精品国产91综合久久蜜臀| 91麻豆精品国产综合久久久久久| 337p亚洲精品色噜噜噜| 欧美一区午夜精品| 日韩三级.com| 久久精品夜色噜噜亚洲a∨| 2020国产精品久久精品美国| 久久婷婷一区二区三区| 国产欧美1区2区3区| 亚洲丝袜另类动漫二区| 一区二区三区四区五区视频在线观看 | 欧美日韩二区三区| 7777精品伊人久久久大香线蕉超级流畅 | 奇米影视在线99精品| 久久精品国产亚洲高清剧情介绍| 经典三级视频一区| 高清日韩电视剧大全免费| www.成人在线| 色噜噜狠狠成人中文综合| 欧美午夜电影网| 日韩欧美色电影| 欧美极品另类videosde| 洋洋av久久久久久久一区| 午夜精品影院在线观看| 国产一区二区三区四区五区美女| av成人动漫在线观看| 欧美福利电影网| 国产亚洲精品资源在线26u| 亚洲私人影院在线观看| 日韩国产高清在线| 国产成人精品一区二区三区四区| 99久久国产综合色|国产精品| 欧美日韩在线亚洲一区蜜芽| 精品日本一线二线三线不卡| 亚洲日本丝袜连裤袜办公室| 日韩影院在线观看| 成人黄色在线网站| 日韩一区二区三区电影 | 男女性色大片免费观看一区二区| 国产91丝袜在线播放| 欧美日韩综合在线免费观看| 国产午夜精品一区二区三区嫩草| 亚洲一区二区精品视频| 国产成人亚洲综合a∨婷婷| 欧美主播一区二区三区美女| 久久亚洲一区二区三区四区| 亚洲一区影音先锋| 国产宾馆实践打屁股91| 7777精品伊人久久久大香线蕉最新版 | 欧洲av在线精品| 久久精品人人做人人综合 | 日韩一区二区三区视频| 中文字幕中文字幕在线一区 | 久久精品亚洲精品国产欧美| 亚洲成a人在线观看| 成人美女视频在线观看| 日韩女优电影在线观看| 亚洲高清免费观看| 91在线无精精品入口| 久久久久久一级片| 亚瑟在线精品视频| 99久久综合99久久综合网站| 日韩精品专区在线影院观看| 日日摸夜夜添夜夜添精品视频| 97精品久久久午夜一区二区三区 | 欧美性感一区二区三区| 国产精品―色哟哟| 国产成人午夜精品影院观看视频| 日韩一区二区三区三四区视频在线观看| 亚洲一区视频在线观看视频| 色综合天天做天天爱| 国产精品欧美久久久久无广告| 国模娜娜一区二区三区| 精品日韩99亚洲| 九九国产精品视频| 精品国产成人系列| 国模套图日韩精品一区二区 | 91美女片黄在线观看91美女| 欧美国产日韩精品免费观看| 懂色av一区二区夜夜嗨| 国产日产精品一区| 成人h精品动漫一区二区三区| 欧美激情在线看| 成人国产一区二区三区精品| 136国产福利精品导航| www.欧美.com|