python 类对象提供默认行为 实例对象 通过继承进行定制

类对象提供默认行为

  • class语句创建类对象并将其赋值给变量名:Python class语句也是可执行语句,执行时会产生新的类对象,并且将其赋值给class头部的变量名
  • class语句内的赋值语句会创建类的属性,class语句内的顶层的赋值语句会产生类对象中的属性,从技术来讲,class语句的作用域会变成类对象的属性的命名空间,就像模块的全局作用域一样,执行class语句后,类的属性可以由变量名点号运算获取object.name
  • 类属性提供对象的状态和行为,类对象的属性记录状态信息和行为,可由这个类所创建的所有实例共享


实例对象是具体的元素:

  1. 向函数那样调用类对象会创建新的实例对象:每次类调用时,都会建立并且返回新的实例对象,实例代表程序领域中的具体元素
  2. 每个实例对象继承类的属性并且获得了自己的命名空间,由类所创建的实例对象是新的命名空间,一开始空的,但是会创建该实例的类对象内的属性
  3. 在方法内对self属性做赋值运算会产生每个实例自己的属性,对self的属性做赋值运算,会创建或修改实例内的数据而不是类内的数据

>>> class FirstClass :

def setdata(self,value):

self.data=value  #self is the instance

def display(self):

print self.data

>>> one=FirstClass()

>>> two=FirstClass()

>>> one.setdata('one')

>>> two.setdata('two')

>>> one.display()

one

>>> two.display()

two

>>> FirstClass.addattr='comman'

>>> one.addattr

'comman'

>>> two.addattr

'comman'


类通过继承进行定制:

  • 超类列在了类开头的括号中,要继承另一个类的属性,把该类列在class语句开头的括号中就可以了,含有继承的类称为子类
  • 类从其超类中继承属性:当读取属性时,如果不存在于子类中,Python会自动搜索这个属性
  • 实例会继承所有可读取的属性
  • 每个object.attrbute都会开启新的独立搜索,Python会对每个属性取出表达式进行对类树的独立搜索,这包括在class语句外对实例和类的引用(X.attr)以及在类方法函数内对self实例参数属性的引用
  • 逻辑的修改是通过创建子类而不是修改超类:在树中层次较低的子类中重新定义超类的变量名,子类就可以取代并且定制所继承的行为



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值