面向对象之定制对象独有属性+属性查找+绑定方法day20

1、为对象定制独有特征__init__  

  对象的本质就是一个名称空间而已,对象名称空间是用来存放对象自己独有的名字/属性,而类中存放的是对象共有的属性

  调用时发生两件事:

    a、创建一个空对象stu1

    b、自动触发类中__init__功能执行,将stu1以及调用类括号中的参数一同传入

2、属性查找

  先从对象自己的名称空间中找,没有则去类中找,如果类也没有则报错

3、绑定方法

  类名称空间中定义的数据属性和函数属性都是共享给所有对象用的。

  对象名称空间中定义的只有数据属性,而且是对象所独有的数据属性。

  类中定义的函数是类的函数属性,类可以使用,但使用就是一个普通的函数而已,意味着需要完全遵守函数的参数规则,该传几个值就传几个值

  类中定义的函数是共享给所有对象的,对象也可以使用,而且是绑定给对象使用的

  绑定效果:绑定给谁就由谁来调用,谁调用就会将谁当作第一个参数自动传入

  注:类中定义的函数,类确实可以用,但是其实大多数情况下都是绑定给对象用的,所以,在类中定义函数都应该自带一个参数self

4、小结

  强调:python3中统一了类和类型的改下,类就是类型

  对象是一个高度整合的产物,整合数据与专门操作该数据的方法(绑定方法)

  强调对象的精髓:

    对象不仅包含一系列数据(自己独有的和大家共有的)还包含专门操作该数据的方法

posted @ 2018-09-12 21:22  墨草  阅读(139)  评论(0编辑  收藏  举报