Python中的繼承和多態

2025年01月23日06:35:04 科技 1164

Python中的繼承和多態 - 天天要聞

  • 繼承是一種允許子類從父類繼承屬性和方法的機制,子類可以重寫或擴展父類的功能,實現多態。繼承可以避免代碼重複,提高代碼復用性。Python支持單繼承和多繼承,可以使用括號和父類名來定義一個子類,如class 子類名(父類名):。例如:
  • # 定義一個父類
    class Animal:
        def __init__(self, name):
            self.name = name
    
        def eat(self):
            print(f"{self.name} is eating.")
    
        def sleep(self):
            print(f"{self.name} is sleeping.")
    
    # 定義一個子類,繼承自Animal類
    class Dog(Animal):
        def __init__(self, name, breed):
            # 調用父類的構造函數
            super().__init__(name)
            self.breed = breed
    
        def bark(self):
            print(f"{self.name} is barking!")
    
        # 重寫父類的方法
        def eat(self):
            print(f"{self.name} is eating dog food.")
    

    多態是指不同的子類對象調用相同的父類方法,產生不同的執行結果,增加了代碼的靈活性和可讀性。多態以繼承和重寫父類方法為前提,也可以通過鴨子類型來實現。鴨子類型是指不關注對象的類型,而只關注對象的行為,如果一個對象具有某種行為,就可以當作某種類型來使用。例如:

    # 定義一個函數,接受一個Animal類型的參數
    def animal_action(animal):
        animal.eat()
        animal.sleep()
    
    # 創建一個Dog對象和一個cat對象
    dog = Dog("Buddy", "Golden Retriever")
    cat = Cat("Kitty", "Persian")
    
    # 調用函數,傳入不同的對象
    animal_action(dog)
    animal_action(cat)
    
    # 輸出結果:
    Buddy is eating dog food.
    Buddy is sleeping.
    Kitty is eating cat food.
    Kitty is sleeping.

    科技分類資訊推薦

    微信右上角的加號,原來這麼好用,隱藏着4個實用功能 - 天天要聞

    微信右上角的加號,原來這麼好用,隱藏着4個實用功能

    微信右上角的加號原來這麼好用,還隱藏着四個實用功能,真的是太好用了。在使用微信聊天的時候會發現在聊天頁面右上角有一個加號,平常都知道打開之後可以掃一掃付款,也可以掃一掃添加好友。除了這幾個用途之外,其實右上角的加號還隱藏着四個非常實用的小功
    最後的幻覺:小米為何仍不肯離開印度? - 天天要聞

    最後的幻覺:小米為何仍不肯離開印度?

    撰文 泰坦在全球化與地緣政治交織的棋盤上,小米正在印度進行一場越來越艱難的“持久戰”。面對印度政府的高壓政策、巨額罰款和持續的技術圍堵,小米的處境已形同“戰略圍困”。然而,令人疑惑的是,儘管盈利被嚴重壓縮、市場份額下滑、前景黯淡,小米依然沒
    央視曝光:大眾點評給刷好評開綠燈 - 天天要聞

    央視曝光:大眾點評給刷好評開綠燈

    記者接到消費者反映,他們在網絡平台上吐槽某商品不好用的差評帖,莫名其妙就消失了。並且發現在好多直播電商平台的差評區里,充斥的竟然都是各種好評和誇誇帖。究竟是誰,在互聯網各大平台上操控輿情,興風作浪呢?