python --- 18 类与类之间的关系, 特殊成员

类与类之间的关系

一.依赖关系 

   执行某个动作的时候. 需要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/sc-1067178406/p/10145837.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值