类与类之间的关系

一.依赖关系

   执行某个动作的时候. 需要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__()  -> 返回对象

python --- 18 类与类之间的关系, 特殊成员的更多相关文章

  1. Python面向对象02/类的空间问题、类与对象之间的关系、类与类之间的关系

    Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 2. 类与对象之间 ...

  2. python 面向对象专题(二):类的空间问题、类与对象之间的关系、类与类之间的关系

    https://www.cnblogs.com/liubing8/p/11308127.html 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 ...

  3. PHP类和对象之间的关系

    类是对象的描述: 类和对象之间的关系类似于建房子的图纸和房子: 创建类--new对象--用对象: 一.对象的两个特性: --对象的行为(功能):可以对对象施加操作,例如,电视机的开.关.转换频道: - ...

  4. JAVA面向对象-----接口与类、接口之间的关系

    接口与类.接口之间的关系 大家之前都知道类与类之间的关系继承,那么接口与类之间又是怎样子的关系呢? 接口与类之间是实现关系.非抽象类实现接口时,必须把接口里面的所有方法实现.类实现接口用关键字impl ...

  5. python包管理工具他们之间的关系

    python包管理工具之间的关系 现在的python包管理工具有很多,非常混乱,必须理清他们之间的关系才能更好的使用python构建强大的包关系系统工具. 首先:python官方推荐的第三方库是PyP ...

  6. Python进阶----表与表之间的关系(一对一,一对多,多对多),增删改查操作

    Python进阶----表与表之间的关系(一对一,一对多,多对多),增删改查操作,单表查询,多表查询 一丶表与表之间的关系 背景: ​ ​ ​  ​ ​ 由于如果只使用一张表存储所有的数据,就会操作数 ...

  7. python 类与类之间的关系. 特殊成员

    一.类与类之间的关系 1.依赖关系 在方法的参数位置把另一个类的对象作为参数进行传递 class Person: def play(self, tools): # 通过参数的传递把另一个类的对象传递进 ...

  8. day16 类之间的关系 特殊成员

    类与类之间的关系1.依赖关系(一个对象当另一个对象的参数)  关系最浅, 特殊成员: 1. 类名() 会自动调用 __init__() class Foo: def__init__(self, nam ...

  9. UML图类,接口之间的关系

    UML图类之间的关系(来自大话设计模式中的一张图,代表了类,接口之间的各种关系)

随机推荐

  1. border的特殊用法

    大家很容易在一些网页上看到二级菜单上有一个小的三角形,这个小三角型 除了可以使用图片或者使用iconfont写出来,还可以使用border写出来 这边简单的为大家举一个例子,希望对大家有用吧! css ...

  2. MyBatis基础入门《七》查询参数传入对象

    MyBatis基础入门<七>查询参数传入对象 描述: 在执行查询语句的时候,传入的参数是一个对象,依据对象的属性,进行检索数据.此时,书写SQL语句中的条件时,其参数需要和对象中的属性保持 ...

  3. 关于plsqldev无法正常加载oracle instantclient中的oci.dll的其中一个原因

    事情的经过是这样的: 1. 新安装了windows10 系统,装了plsqldev 和 oracle instantclient,以及 instantclient sqlplus. 2.设置好了ORA ...

  4. notepad去掉空行

    选择替换,把查找模式设置为正则表达式,在查找框中自己输入 ^\s+  ,替换框留空,点“全部替换”,即可(先全选).注意:不要复制我的,自己输入,且用英文格式输入.

  5. Vue系列之 => 使用钩子函数的第二个参数传参

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. html5-微格式-时间的格式

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  7. javascript_函数式_链式编程

  8. mysql 创建用户,删除用户,增加权限

    1,查询mysql 数据库已经存在的用户: SELECT USER,HOST FROM MYSQL.USER; 2,创建mysql 用户: '; USERNAME:用户名 HOST:主机,PASSWO ...

  9. tcp/ip 3次握手和4次挥手

    tcp/ip 3次握手和4次挥手

  10. 【swiper轮播插件】解决swiper轮播插件触控屏问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...