python 类与类之间的关系. 特殊成员
一.类与类之间的关系
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 类与类之间的关系. 特殊成员的更多相关文章
- Python面向对象02/类的空间问题、类与对象之间的关系、类与类之间的关系
Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 2. 类与对象之间 ...
- python 面向对象专题(二):类的空间问题、类与对象之间的关系、类与类之间的关系
https://www.cnblogs.com/liubing8/p/11308127.html 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 ...
- PHP类和对象之间的关系
类是对象的描述: 类和对象之间的关系类似于建房子的图纸和房子: 创建类--new对象--用对象: 一.对象的两个特性: --对象的行为(功能):可以对对象施加操作,例如,电视机的开.关.转换频道: - ...
- JAVA面向对象-----接口与类、接口之间的关系
接口与类.接口之间的关系 大家之前都知道类与类之间的关系继承,那么接口与类之间又是怎样子的关系呢? 接口与类之间是实现关系.非抽象类实现接口时,必须把接口里面的所有方法实现.类实现接口用关键字impl ...
- python --- 18 类与类之间的关系, 特殊成员
类与类之间的关系 一.依赖关系 执行某个动作的时候. 需要xxx来帮助你完成这个操作 随时可以更换另外一个东西来完成此操作 此时的关系是最轻的. 二.关联关系(组合关系,聚合关系) 1.一对 ...
- day16 类之间的关系 特殊成员
类与类之间的关系1.依赖关系(一个对象当另一个对象的参数) 关系最浅, 特殊成员: 1. 类名() 会自动调用 __init__() class Foo: def__init__(self, nam ...
- UML图类,接口之间的关系
UML图类之间的关系(来自大话设计模式中的一张图,代表了类,接口之间的各种关系)
- Java 中判断类和实例之间的关系
判断类与实例的关系有以下三种方式 1.instanceof关键字,用来判断对象是否是类的实例 (对象 => 类 ) 2.isAssignableFrom,用来判断类型间是否存在派生关系 (类 ...
- 关于package,import,和“找不到可以加载的主类”报错之间的关系
正在回顾java基础 目录结构如下: 一 以下代码,进入Example所在的文件夹, javac和java都不会报错 public class Example{ public static void ...
随机推荐
- ubuntu16.04环境编译gSOAP
一.gSOAP简介 SOAP 是基于 XML 的简易协议,可使应用程序在 HTTP 之上进行信息交换.或者更简单地说:SOAP 是用于访问网络服务的协议. SOAP 提供了一种标准的方法,使得运行在 ...
- 实战课堂 | DMS企业版教你用一条SQL搞定跨实例查询
背景 数据管理DMS企业版提供了安全.高效地管理大规模数据库的服务.面对多元的数据库实例,为了更方便地查询被“散落”在各个地方的业务数据,我们在DMS企业版中提供了跨数据库实例查询服务. 什么是跨实例 ...
- [Array]217.Contains Duplicate
Given an array of integers, find if the array contains any duplicates. Your function should return t ...
- 洛谷 2890 [USACO07OPEN]便宜的回文Cheapest Palindrome
传送门 一道最简单的区间dp,然而我还是抄了题解. //Twenty #include<algorithm> #include<iostream> #include<cs ...
- python_数据类型_list
names = ['one','two','three','four','five'] #列表切片 print(names[0:]) #['one', 'two', 'three', 'four', ...
- rpmnew和rpmsave怎么来的
RPM spec文件有个名为 %config 的宏,它可以标识配置文件,这样在升级时用户对配置文件做过的修改就不会丢失.没有它,用户千辛万苦修改过的配置文件会在升级过程中被覆盖. %config也可以 ...
- plsql中学习job
--1.plsql中学习job --学习job --建表 create table test_job(para_date date); commit; insert into test_job val ...
- Leetcode22.Generate Parentheses括号生成
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n = 3,生成结果为: [ "((()))", "(()())& ...
- WordPress不同分类使用不同的文章模板
倡萌昨天分享的 Custom Post Template 和 Single Post Template 可以让你自定义每篇文章的文章模板,今天来说说WordPress不同分类使用不同的文章模板. 方法 ...
- PHP把图片保存到数据库,将图片本身保存在数据库,而非保存路径
备注 百度开发者的云代码空间为了保证高可用,不允许用户将图片保存到代码空间中,使用CDN或者对象存储不仅收费而且使用比较复杂,于是考虑能否将img存储在数据库中,虽然很多人说会造成性能问题,权当一试 ...