码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象

时间:2018-11-09 22:54:14      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:instance   .com   特征   固定   依赖   问题   技术分享   编写   class   

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

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

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

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

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

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

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

三,类的成员

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

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

  技术分享图片

 

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

  技术分享图片

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

  技术分享图片

  私有方法

 技术分享图片

 

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

  技术分享图片

  技术分享图片

四,类与类之间的关系

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

  技术分享图片

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

  技术分享图片

  一对多的关联关系

  技术分享图片

五,isinstance,type,issubclass

  技术分享图片

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

   技术分享图片

  技术分享图片

  isinstance

  技术分享图片

六,区别函数与方法

  技术分享图片

七,反射

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

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

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

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

技术分享图片

 

  技术分享图片

 

  

 

 

  

面向对象

标签:instance   .com   特征   固定   依赖   问题   技术分享   编写   class   

原文地址:https://www.cnblogs.com/12345huangchun/p/9937437.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!