python --- 18 类与类之间的关系, 特殊成员
2024-10-12 17:27:04
类与类之间的关系
一.依赖关系
执行某个动作的时候. 需要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__() -> 返回对象
最新文章
- Quant的笑话
- buildroot使用详解
- C语言中qsort函数用法
- C# WinForm中将Form显示在Panel中(C#)
- 跨域解决方案一:使用CORS实现跨域
- Linux 网络编程二(Socket创建)
- js:数据结构笔记9--二叉树
- 如何使用javadoc
- java卡与native卡的区别
- C#_uploadify_mvc_version
- linux 下ffmpeg和mencoder安装
- EasyToLearnDesignPattern
- ABAP on HANA之CDS Association和Path Expression
- 第十五节、韦伯局部描述符(WLD,附源码)
- es6 Array数组方法
- System.Data.SQLite安装的相关问题
- Mvc+Dapper+存储过程分页10万条数据
- postgresql 脏读-dirtied
- vs2017预览版下载
- CentOS下查看最后登录的用户信息以及LOG记录