面向对象

一,面向对象和面向过程(重点理解)

  面向过程:一切以事物的流程为中心,核心是过程二字,过程是指解决问题的步骤,即先干什么,后干什么,基于该思想编写程序就好比在编写一套流水线,是一种机械式的编程思维。优点:流程化,编写相对简单;缺点:可扩展性差

  面向对象:具有相同属性和动作的结合体叫对象,面向对象思维,要自己建立对象,自己建立场景,你就是面向对象世界中的上帝。优点:可扩展性强 ;缺点:编程的复杂度高于面向过程

二,面向对象的三大特征:封装,继承,多态

  封装:把很多数据封装到一个对象中,把固定功能的代码封装到一个代码块,函数,对象,打包成模块,这都属于封装的思想。

  继承:子类可以自动拥有父类中除了私有属性外的其他所有内容

  多态:同一个对象,多种形态

三,类的成员

  变量(实例变量,类变量)

  方法(实例方法,@staticmethod静态方法,@classmethod类方法)

  

 

  属性@property:其实就是通过方法改造过来的一种变量的写法

  

   私有变量:在python中使用__作为方法或变量的前缀,那么这个方法或变量就是私有的

  

  私有方法

 

 

  特殊成员:带双划线的就是特殊的成员

  

  

四,类与类之间的关系

  依赖关系:在方法中给方法传递一个对象,此时类与类之间的关系是最轻的

  

  关联关系(组合,聚合):把对象传在_init_()中

  

  一对多的关联关系

  

五,isinstance,type,issubclass

  

  type()是查看对象是什么类型的

   

  

  isinstance

  

六,区别函数与方法

  

七,反射

  hasatter(对象,字符串n):判断在对象中是否有n这个属性或功能

  getatter(对象,字符串n):从对象中获得你这种功能的变量名

  setatter(对象,字符串n,值):先从对象查找你这个功能,若有,用值的功能覆盖他,若没有,创建你这种功能,用的是值的功能

  delatter(对象,字符串n):从对象中删除n这种功能

 

  

 

  

 

 

  

posted @ 2018-11-09 22:01  W的一天  阅读(143)  评论(0编辑  收藏  举报