所谓组合,就是把类的实例化放到新类里面,那就把旧类组合起来了,没有直线关系的几个类放在一起,不用去继承了。
在一个类中以另外一个类的对象作为数据属性,称为类的组合。
定义一个类,叫水池,有乌龟和鱼
class Trutle:def __init__(self,x): #初始化self.num = xclass Fish:def __init__(self,x):self.num = xclass Pool:def __init__(self,x,y):#把需要的类实例化self.turtle = Trutle(x)self.fish = Fish(y)def print_num(self):print('水池里共有乌龟%d只,小鱼%d只'%(self.turtle.num,self.fish.num))
执行输出:
弹幕笔记:
- Pool.__init __里构造了Turtle和Fish的对象并分别赋给变量self.turtle和self.fish,同时用x,y给两个对象内各自的num成员赋初值
- .num的意思是实例对象的实例对象
class Check:count = 0def __init__(self):unt+=1def __del__(self):unt-=1
##定义一个栈(stack)类,用于模拟一种具有后进先出(LIFO)特性的数据结构。
class Stack:def __init__(self,start=[]):self.stack=[]for x in start:self.push(x)def isEmpty(self):return not self.stackdef push(self,obj):self.stack.append(obj)def pop(self):if not self.stack:print('warning:stack is empty')else:return self.stack.pop()def top(self):if not self.stack:print('warning:stack is empty')else:return self.stack[-1]def buttom(self):if not self.stack:print('warning:stack is empty')else:return self.stack[0]
本文发布于:2024-02-04 13:48:19,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170708641556112.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |