type和object的關係

在python裏面,一切皆爲對象type是object的類型,同時,object又是type的超類

object和type是同時出現的,類可以通過 type 來定義。

超類

# 超類 super(), 優雅的初始化類的屬性 
#當對象B繼承了對象A時,對象B就擁有了對象A的所有方法和屬性.但是當我們需要給B()定義 一個初始屬性 ,就不能像方法A()一樣用__init__(self),因爲直接用 __init__(self)就相當 於重寫了父類的 初始化屬性
class A():
    def __init__(self):
        self.first_name = 'king'
    def second_name(self):
        print('hao')

class B(A):
    def __init__(self):                 
        super(B,self).__init__( )
        self.english_name = 'horsun'
    def full_name(self):
        print('king hao')

  

面向對象的體系中,存在兩種關係:

  • 父子關係:這種關係存在於某個類(subclass)是另一個類(superclass)的特別版本之中。通常描述爲“子類是一種父類”。比如:蛇是一種爬行動物(Snake is a kind of reptile)。其中,蛇(snake)是子類,爬行動物(reptile)是父類。蛇擁有爬行動物的特徵,同時,又擁有標誌自己是一條蛇的特徵。

  • 類型實例關係:這種關係存在於兩個對象之中,其中一個對象(實例)是另一個對象(類型)的具體實現。我有一條寵物蛇叫Squasher,那麼Squasher就是蛇的一個實例。英文描述爲:"Squasher is an instance of snake"

 

 

兩個規則:

如果X是A的實例,同時A又是B的子類,那麼,X也是B的實例如果B是M的實例,同時A是B的子類,那麼,A也是M的實例

比如你自定義了一個類myclass,實例化就是在myclass後增加()操作符完成的。也就是instance_of_myclass=myclass()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章