中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

新式類vs經典類,類的多態實現

發布時間:2020-07-19 20:50:07 來源:網絡 閱讀:317 作者:堅持和學習 欄目:編程語言


```# 
# 經典類VS新式類
class person(object): #這就是新式類
    pass
    #super(Teacher,self).__init__(name,age,sex) # 新式類寫法

class Person: #這就是經典類
    pass
    #School.__init__(self,name,age,sex) #經典類寫法

## 新式類(先從左往右找,B沒有就找C,C沒有就找A!這種查詢叫廣度查詢,先查完B,C這一層,再去查A層)
class A(object):
    def __init__(self):
        self.n="A"

class B(A):
    pass
    #def __init__(self):
    #self.n="B"

class C(A):
    def __init__(self):
        self.n="C"

class D(B,C):
    pass
    # def __init__(self):
    #     self.n="D"
d=D()
print(d.n)

## 經典類(經典類在python2中先找B,B沒有就去找A!這叫深度查詢,如果A里沒找到就去找C)(新式類和經典類在pythin3中都是廣度查詢!)
class A:
    def __init__(self):
        self.n="A"

class B(A):
    #pass
    #def __init__(self):
       #self.n="B"

class C(A):
   #pass
    def __init__(self):
        self.n="C"

class D(B,C):
    pass
    #def __init__(self):
    #self.n="D"
d=D()
print(d.n)

# 多態
class Animal(object):
    def __init__(self, name):  # Constructor of the class
        self.name = name

    def talk(self):  # Abstract method, defined by convention only
        raise NotImplementedError("Subclass must implement abstract method")

class Cat(Animal):
    def talk(self): #重新定義talk
        print('%s: 喵喵喵!' % self.name)

class Dog(Animal):
    def talk(self): #重新定義talk
        print('%s: 汪!汪!汪!' % self.name)

def func(obj):  # 一個接口,多種形態(傳入不同的實例,調用的接口都是talk,單表達方式不同)
    obj.talk()

c1 = Cat('小晴')
d1 = Dog('李磊')
func(c1)
func(d1)
向AI問一下細節

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

AI

浙江省| 鲜城| 广州市| 布拖县| 通化县| 崇明县| 天长市| 双鸭山市| 长岭县| 和田县| 洛川县| 新建县| 大关县| 扎兰屯市| 县级市| 松原市| 南城县| 汝南县| 金川县| 苍溪县| 腾冲县| 宁明县| 清远市| 双牌县| 揭东县| 富裕县| 汶川县| 高安市| 循化| 丹东市| 满城县| 阿拉善左旗| 锡林郭勒盟| 沙田区| 营山县| 肥东县| 山丹县| 嘉兴市| 大竹县| 朔州市| 获嘉县|