面向对象总结

面向对象总复习:
面向过程编程思想:
核心是 过程 二字, 过程指的是解决问题的步骤是,即先干什么再干什么。
基于该编程思想编写程序,相当于一条流水线,一种机械式的思维方式。

面向对象编程思想:
核心是 对象 二字,对象指的是数据与方法的结合体。也就是一个容器。
基于该编程思想编写程序,就好比创造世界,一种上帝式的思维方式。

一、类与对象
对象是特征与技能结合体,即数据与方法。
类是一系列对象相似的特征与技能的结合体,即相似的数据与方法。

二、面向对象三大特性
封装:
把一堆数据属性与方法属性 整合 到对象里面。

隐藏:
__属性 ---> 把属性变形了,即隐藏起来了!

继承:
父类是一些列类共有的数据属性与方法属性的结合体。
子类可以继承父类的属性,还可以派生出自己独有的属性。

组合:
1.即继承父类的属性,且不与父类耦合到一起。
2.把一个对象放到另一个对象里面。
组合是继承的一种应用。

多态:
1.抽象类
2.鸭子类型

三、对象的绑定方法
给对象用的,由对象来调用,会自动把对象本身当作第一个参数传给self。

四、classmethod、staticmethod、property

classmethod本质上是一个装饰器,装饰给类里面的方法。
被装饰的方法,即类的绑定绑法。
五、组合
一个类的对象作为另一个类的对象的属性

六、面向对象高级
1、反射:
通过 字符串 来操作类与对象的属性。
hasattr()
判断对象或者类的属性是否存在!

```
getattr()
获取对象或者类的属性
参数1: 对象
参数2: '属性名'
参数3: 默认值

setattr()
设置对象或者类的属性

delattr()
删除对象或者类的属性
```

2、类的内置方法

__init__(): 调用类的时候自动触发__init__。
__str__(): 打印对象的时候出发此方法。 (此方法内,必须return一个字符串)
__del__(): 在对象 占用空间被清掉了,会自动触发__del__方法的执行。
__setattr__(): 修改对象的属性会自动触发此方法的执行。
__deleter__: 删除属性的时候会自动触发。
__call__: 调用对象的时候会自动触发。 讲元类的时候会有用!
原文地址:https://www.cnblogs.com/yanminggang/p/10758569.html