python 面向对象之多态及元类

python 面向对象之多态及元类

多态

  • 多态首先是建立在继承的基础上的,先有继承才能有多态。
  • 多态是指不同的子类在继承父类后分别都重写覆盖了父类的方法,即父类同一个方法,在继承的子类中表现出不同的形式。
  • 多态成立的另一个条件是在创建子类时候必须使用父类new子类的方式

元类

  • 类也是对象,可以在运行时动态的创建。
  • 对于动态的创建类,可以使用type,它可以接受一个类的描述作为参数,然后返回一个类。
  • type还可以创建带有属性的类,可以接受一个字典来为类定义属性。
  • 可以使用type创建带有方法的类,即为类增加方法时,可以定义一个恰当签名的函数并将其作为属性。
  1. 元类就是用来创建类的“东西”,创建类就是创建类的实例对象,元类就是用来创建这些类(对象)的,元类就是类的类

  2. 函数type实际上是一个元类,是python在背后用来创建所有类的元类。

    MyClass= MetaClass() #使用元类创建出一个对象,这个对象成为“类”
    MyObject = MyClass() #使用“类”来创建出实例对象
    
    Myclass = type('MyClass')
    

type(‘MyClass’)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值