一.类与类之间的关系

1.依赖关系

在方法的参数位置把另一个类的对象作为参数进行传递

 class Person:

     def play(self, tools):  # 通过参数的传递把另一个类的对象传递进来
tools.run()
print('很开心, 我能玩游戏了') class Computer():
def run(self):
print('电脑开机.可以运行') class Phone():
def run(self):
print('手机开机.可以运行') c = Computer()
phone = Phone() p = Person()
p.play(phone)
p.play(c)

2.关联关系

self.属性 = 对象
self.phone = 苹果

self.phone.play()

多对多关系

(1)一对一关系

 class Boy:

     def __init__(self, name, girlFriend = None):
# 在初始化的时候可以给一个对象属性设置成另一个类的对象
self.girlFriend =girlFriend def chi(self):
if self.girlFriend:
print(f'带着他的女朋友{self.girlFriend.name}去吃饭')
else:
print('单身狗,吃什么吃?去学习') def movie(self):
if self.girlFriend:
print(f'带着他的女朋友{self.girlFriend.name}去看电影')
else:
print('单身狗,吃什么吃?去看电影') class Girl:
def __init__(self,name):
self.name = name b =Boy('宝浪')
g =Girl('孙艺珍')
b.chi() b.girlFriend = g
b.chi()

(2)一对多关系

 class School:

     def __init__(self,name):
self.teach_list = [] # 这里要装多个老师 def zhaopin(self,teach):
self.teach_list.append(teach) def shangke(self):
for i in self.teach_list:
i.work() class Teacher:
def __init__(self,name):
self.name = name def work(self):
print(f'{self.name},在上课') lnh = School('老男孩')
t1 = Teacher('wusir')
t2 = Teacher('太白')
t3 = Teacher('日天')
t4 = Teacher('宝浪') lnh.zhaopin(t1)
lnh.zhaopin(t2)
lnh.zhaopin(t3)
lnh.zhaopin(t4)
lnh.shangke()

3.继承关系

 class Base:  # 父类 => 基类 => 超类
def chi(self):
print('我会吃') # 派生类 = > 子类
class Foo(Base): # 这个类继承了Base类. Foo类是对Base的一个扩展
def he(self):
print('我会喝') f = Foo()
f.chi()
f.he()

二.特殊成员

__init__ 初始化操作
__call__ 对象()
__getitem__ 对象[]
__setitem__ 对象[] = 值
__delitem__ del 对象
__new__ 开辟内存.
__hash__ 可哈希. hash()
__enter__ with 对象:
__exit__ with 对象:结束的时候自动调用
__iter__ iter(对象), for

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

  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 --- 18 类与类之间的关系, 特殊成员

    类与类之间的关系 一.依赖关系 执行某个动作的时候. 需要xxx来帮助你完成这个操作      随时可以更换另外一个东西来完成此操作 此时的关系是最轻的. 二.关联关系(组合关系,聚合关系) 1.一对 ...

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

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

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

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

  8. Java 中判断类和实例之间的关系

    判断类与实例的关系有以下三种方式 1.instanceof关键字,用来判断对象是否是类的实例 (对象 => 类 )   2.isAssignableFrom,用来判断类型间是否存在派生关系 (类 ...

  9. 关于package,import,和“找不到可以加载的主类”报错之间的关系

    正在回顾java基础 目录结构如下: 一 以下代码,进入Example所在的文件夹, javac和java都不会报错 public class Example{ public static void ...

随机推荐

  1. Django定义全局变量

    定义全局变量,在项目的任何位置都可以获取到变量的值 在include App=>include文件夹下=>context_processors.py 里定义需要获取的变量 #!/usr/b ...

  2. 解决ios移动端双击页面下移

    ios移动端在双击弹出层的时候会出现页面下移,露出底层页面的现象 解决办法: <!DOCTYPE html> <html> <head> <meta char ...

  3. 洛谷P3300 城市规划

    题意:给你一个6 * n的网格题,单点修改,询问区间联通块数.n <= 10w 解:看起来就很显然的一道题......线段树每个点用一个ufs维护连通性.完了. 我为了方便思考把图转成横着的了. ...

  4. JQuery或JS判断浏览器内核版本号以及是否支持W3C盒子模型

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support .在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...

  5. CodeChef--SEPT14小结

    这套题目只做了几个相对简单的.其他的做起来比较吃力. A 找下规律 /***************************************************************** ...

  6. mysql limit的使用方法

    mysql的分页limit的使用方法大全 .取表中的n行之后的m条元组(limit n,m) ,; //取出student表中第4行后的8条元组(这里的区间是左开右闭) .取出表中前m行元素(limi ...

  7. java的dao层如何返回多个list

    比如一个场景 我要这样展示(相同的元素只要展示一次) 前台是这样写的 el表达式是不能对数据进行处理的,所以数据有重复的那么就一定会显示出来 所以,考虑,能不能直接在dao中查询的时候直接返回三个li ...

  8. mysql优化-数据库设计基本原则

    mysql优化-数据库设计基本原则 一.数据库设计三范式 第一范式:字段具有原子性 原子性是指数据库的所有字段都不可被再次划分,如下表就不满足原子性,起点与终点 字段就可被拆分为起点与终点两个字段. ...

  9. 洛谷P1650 赛马[2017年5月计划 清北学堂51精英班Day1]

    P1650 赛马 题目描述 我国历史上有个著名的故事: 那是在2300年以前.齐国的大将军田忌喜欢赛马.他经常和齐王赛马.他和齐王都有三匹马:常规马,上级马,超级马.一共赛三局,每局的胜者可以从负者这 ...

  10. simple 单例

    Message* Message::m_pInstance = ;//类外初始 Message::Message() { } Message::~Message() { ) { delete Inst ...