类与类之间的关系

一.依赖关系

   执行某个动作的时候. 需要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. LeetCode88.合并两个有序数组

    给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n. ...

  2. redis的key越来越多,对速度是否有影响

    ---恢复内容开始--- redis存储key是用字典对象的,查询性能几乎和数量级无关,只要保证内存够用就可以了,如果内存不够,会把内存和swap空间交换,这种情况下就会很影响性能,会读取出现读取磁盘 ...

  3. pandas常用函数

    1. df.head(n): 显示数据前n行,不指定n,df.head则会显示所有的行 2. df.columns.values获取所有列索引的名称 3. df.column_name: 直接获取列c ...

  4. sql server 中DateName()函数及DatePart()函数

    Datepart():返回代表指定日期的指定日期部分的整数 语法:Datepart(datepart,date)  返回类型:int DateName():返回代表指定日期的指定日期部分的字符串 语法 ...

  5. 【2017-2-24】C#循环嵌套,跳转语句,迭代穷举,异常语句,while循环

    循环嵌套 在一个循环体语句中包含另一个循环语句: 99乘法表 ; i <= ; i++) { ; j <= i; j++) { Console.Write(i+"x"+ ...

  6. 【impala学习之一】impala

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 CM5.4 一.ImpalaImpala是基于Hive的大数 ...

  7. Python 连接SQL Server数据库 - pymssql使用基础

    1.  官方api http://www.pymssql.org/en/stable/ref/pymssql.html 我学习自这里

  8. HIBERNATE与 MYBATIS的对比

    我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...

  9. 2017-2018-2 20165215 实验四《Android开发基础》实验报告

    2017-2018-2 20165215 实验四<Android开发基础>实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:张家佳 学号:20165215 指导教 ...

  10. python 爬虫基础知识一

    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 网络爬虫必备知识点 1. Python基础知识2. P ...