三十七.类与类之间的关系
一.依赖关系
执行某个动作的时候. 需要xxx来帮助你完成这个操作
随时可以更换另外一个东西来完成此操作
此时的关系是最轻的.
二.关联关系(组合关系,聚合关系)
1.一对一关系
2.一对多关系
三.继承关系 (这是最重的关系)
self在访问?法的顺序: 永远先找??的. ??的找不到再找?类的
父类 == 基类 == 超类
子类 == 派生类
我们写的类和对象都是可哈希的
如果加上 __hash__ = None 对象就不可哈希
四,特殊成员
1. 类名() 会?动执?__init__()
创建对象的时候初始化操作
2. 对象() 会?动执?__call__()
3. 对象[key] 会?动执?__getitem__()
4. 对象[key] = value 会?动执?__setitem__()
5. del 对象[key] 会?动执? __delitem__()
6. 对象+对象 会?动执? __add__()
7. with 对象 as 变量 会?动执?__enter__ 和__exit__
8. 打印对象的时候 会?动执? __str__
9. ?掉可哈希 __hash__ == None 对象就不可哈希了.
10.__new__() # 创建对象的时候.开辟内存
五.面向对象编程的执行流程
1. 加载类 -> 给类创建一个名称空间 -> 主要存放类变量.
2.创建对象 -> 先找类. -> 根据类来开辟内存 -> 执行类中的__new__()
-> 执行__init__() -> 返回对象
原文地址:https://www.cnblogs.com/amirky/p/10211581.html