【python之路】【之前没搞明白】0面向对象(目录及概要)
面向对象课件:https://book.apeland.cn/details/151/
面向对象视频:https://www.bilibili.com/video/av77282982?p=1
面向对象笔记目录:
2、面向对象(对象交互)类与类的关系、组合
7、面向对象(类方法、静态方法、属性方法) @classmethod @staticmethod @property
9、面向对象(类的双下划线方法)
10、面向对象(type动态创建类)
强化记忆:
| 类 | class FooBo: # 使用驼峰体规范 |
| 实例 | f = FooBo() # f就是实例 |
| 公共属性 | 直接写在class XXX: 下面的变量 |
| 构造方法 | __init__() |
| 实例属性 | __init__(self, a) 里面self.a = a |
| 方法 | 与__init__()平级的函数 |
| 依赖关系 | 在实例属性中定义 self.a = 另一个类的实例(实例是不带括号的) |
| 关联关系 | 再定义一个类,用来存储多个实例的关系 |
| 组合关系 | 在实例属性中定义 self.a = 另一个类(类名后面加括号) |
| 继承 | super(),多继承下的 mor() |
| 封装 | __公共属性,__self.属性,__方法 |
| 多态 | raise NotImplementedError("Subclass must implement abstract method") |
| 类方法 | @classmethod 只能访问类变量,不能访问实例变量 |
| 静态方法 | @staticmethod 不可以访问实例变量或类变量 |
| 属性方法 | @property 将方法变成一个静态属性(我理解为一个设定好的批处理) |
| 反射 | 通过字符串的形式操作对象相关的属性,4个方法 |
| hasattr | 判断 |
| getattr | 获取 |
| setattr | 设立 |
| delattr | 删除 |

浙公网安备 33010602011771号