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()

 

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