类与类之间的关系

一.依赖关系

   执行某个动作的时候. 需要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. LeetCode83.删除排序链表中的重复的元素

    给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3-&g ...

  2. jQuery-手风琴效果-2

    动画 高级函数:基于底层函数又进行了封装 两大块:简化版的动画函数和万能动画函数 简化版动画函数 显示/隐藏$().show; $(...).hide(); 强调:无参数的show()/hide()使 ...

  3. Python记录1:基础知识常识

    今日内容: 一,Python的数据类型 Python一共有以下几种常见的数据类型:int(整形)  float(浮点型)  str(字符串)  list(列表)   tuple元组  dict(字典) ...

  4. SpringBoot的json序列化及时间序列化处理

    使用场景:前台的多种时间格式存入后台,后台返回同时的时间格式到前台. 1 在config目录下配置jscksonConfig.java package com.test.domi.config; im ...

  5. Java操作队列

    Java操作队列 常见的几种模式:   1 简单队列simple 模型:(p + 队列 + c) P:生产者producer,将消息发送到队列 红色:消息队列 C:消费者consumer,从队列消费消 ...

  6. JSP中的编码问题

    JSP文件的编码 <%@ page contentType="text/html;charset=UTF-8" language="java" %> ...

  7. [转]js刷新父窗体

    浮层内嵌iframe及frame集合窗口,刷新父页面的多种方法   <script language=JavaScript>       parent.location.reload(); ...

  8. 概念、DW介绍

    网页设计知识点大致分为五个部分,分别是: 1.概念.DW介绍: 2.标签: 3.样式表CSS: 4.JQuery: 5.JavaScript 概念.DW介绍: 一.网页的基本结构 <!--文档声 ...

  9. js里用append()和appendChild有什么区别?

    parentNode.append()是还在试用期的方法,有兼容问题.是在parendNode节点中最后一个子节点后插入新Node或者DOMString(字符串,插入后为Text节点). 与paren ...

  10. pyspider源码解读--调度器scheduler.py

    pyspider源码解读--调度器scheduler.py scheduler.py首先从pyspider的根目录下找到/pyspider/scheduler/scheduler.py其中定义了四个类 ...