91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python繼承指的是什么

發布時間:2020-11-09 10:59:58 來源:億速云 閱讀:184 作者:小新 欄目:編程語言

這篇文章主要介紹了python繼承指的是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

繼承的語法

Python子類繼承父類的語法是在定義子類時,將多個父類放在子類之后的圓括號里。語法格式如下:

class 子類名稱(父類1,父類2,...):
# 類的定義部分

如果在Python中定義一個類時未指定這個類的直接父類,則這個類默認繼承object類。因此,object類是所有類的父類,要么是其直接父類,要么是其間接父類。

實現繼承的類被稱為子類,被繼承的類被稱為父類,也被稱為基類、超類。父類和子類的關系,是一般和特殊的關系,是抽象和具體的關系。從子類角度來看,子類擴展了父類的功能。從父類角度來看,父類派生出了子類。

class People:
    # 定義類的基本屬性
    name = ''
    age = ''
    # 定義類的私有屬性
    __weight = 0
 
    # 定義類的構造方法
    def __init__(self, name, age, weight):
        self.name = name
        self.age = age
        self.__weight = weight
    # 定義成員方法
    def say(self):
        print(f'{self.name}說我今年{self.age}歲了')
 
    def walk(self):
        print(f'{self.name}會走路了')
 
# 定義學生繼承自People類
class Student(People):
    # 定義學生類特有屬性grade代表年級
    grade = ''
    # 定義學生類的構造方法
    def __init__(self, name, age, weight, grade):
        # 調用父類構造方法
        People.__init__(self,name, age, weight)
        self.grade = grade
 
    # 覆寫父類的方法
    def say(self):
        print(f'{self.name}說我今年{self.age}歲了,我在讀{self.grade}年級')
 
    # 定義成員方法
    def study(self):
        print(f'{self.name}說:好好學習,天天向上!')
 
# 實例化學生類
s1 = Student('關羽',35, 80,'三年級')
# 調用say()方法
s1.say() # 因為重寫了父類方法,所以調用的是子類的say()方法
# 調用walk()方法,因為學生沒有walk()方法,但是學生繼承了People, 所以會調用父類的walk()方法
s1.walk()
# 調用study()方法,因為父類沒有study, 子類定義了獨有的study方法,會直接調用
s1.study()

python繼承指的是什么

多繼承

當一個子類有多個直接父類時,該子類會繼承得到所有父類的公有的方法。但是,如果直接繼承的多個父類中有相同的方法時,Python會按照繼承的父類的前后順序,前面類中的方法會“屏蔽”后面父類中的同名方法。所以,對于子類和直接繼承的父類的同名方法查找有順序是:

子類 -> 直接子類(類1,類2,類3,...類n) 從左到右搜索,找到了就屏蔽后面的同名方法。

class Human:
    def __init__(self, name, age, gender, skin):
        self.name = name
        self.age = age
        self.gender = gender
        self.skin = skin
 
    def walk(self):
        print(f'{self.name}正在走路')
 
    def work(self):
        print(f'{self.name}工作了')
class Man(Human):
    def __init__(self, name, age, gender, skin, hair, mouth):
        Human.__init__(self, name, age, gender,skin)
        self.hair = hair
        self.mouth = mouth
 
    def work(self):
        print(f'我是男人,我要養家糊口')
 
    def game(self):
        print(f'我喜歡打游戲')
 
class Woman(Human):
    def __init__(self, name, age, gender, skin, hair, mouth):
        Human.__init__(self, name, age, gender, skin)
        self.hair = hair
        self.mouth = mouth
 
    def work(self):
        print(f'我是女人,我也要工作')
 
    def cook(self):
        print(f'我會做飯')
 
 
class Son(Man, Woman):
    def __init__(self, name, age, gender, skin, hair, mouth, grade):
        Man.__init__(self, name, age, gender,skin,hair,mouth)
        self.grade = grade
 
    def study(self):
        print('好好學習,天天向上')
# 實例化兒子類
s1 = Son('司馬光',9,'男','白皮膚','黑頭發','大嘴','三年級')
s1.study() # 調用自己獨有方法
s1.work() # 父類Man和Woman都有的方法,從左到右找,找到后后面父類中的同名方法會隱藏
s1.game() # 父類Man的獨有方法,繼承過來
s1.cook() # 父類Woman的獨有方法,繼承過來
s1.walk() # 子類,直接父類都沒有的方法,從父類的父類間接繼承,因此繼承具有傳遞性

python繼承指的是什么

感謝你能夠認真閱讀完這篇文章,希望小編分享python繼承指的是什么內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

保定市| 德州市| 剑河县| 濮阳市| 安乡县| 亳州市| 明光市| 内丘县| 增城市| 峡江县| 博客| 泽库县| 白河县| 扶沟县| 洪泽县| 永登县| 凌云县| 通辽市| 宜阳县| 新化县| 简阳市| 越西县| 潞西市| 府谷县| 昌江| 西乡县| 海丰县| 荣昌县| 大埔县| 阳东县| 长宁区| 平潭县| 论坛| 红原县| 鹤峰县| 万安县| 德惠市| 共和县| 文成县| 凤翔县| 沁水县|