• type和object的关系


    在python里面,一切皆为对象type是object的类型,同时,object又是type的超类。

      注:被继承的类被称为超类-superclass、基类-base class 或者父类  parent class

    super不是一个对象的引用,不能讲super赋予一个对象的变量,它只是一个指示编译器调用超类方法的关键字

    this是指向所属对象的

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

      

    object 和type都属于type类(class ‘type’)

    type类有type元类自身创建,objec类是由元类type创建

    object的父类为空,没有继承任何类

    type的父类为object类(class ‘object’)

    元类:负责产生该对象的类称之为元类,即元类可以简称为类的类

     

    面向对象的体系中,存在两种关系:

    • 父子关系:这种关系存在于某个类(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()

  • 相关阅读:
    动画差值
    高达模型
    TCP/IP负载均衡
    FreeImage使用
    Game Programming Pattern
    Apple Instruments
    GLEW OpenGL Access violation when using glGenVertexArrays
    微服务了解
    summary
    事务传播行为
  • 原文地址:https://www.cnblogs.com/workherd/p/14321202.html
Copyright © 2020-2023  润新知