python类组合

我们知道,在继承关系中,类与类之间的关系是is -a ,比如说,Dog类继承了Animal类,也就是说存在Dog is a Animal的关系。

但是,有些时候,类与类之间并不存在 is-a 的关系,但是,他们在逻辑上还是存在关系的。比如说,电脑和cpu、主板等,电脑和cpu、主板之间显然不存在继承关系,但是我们知道,cpu、主板是电脑的组成部件。因此,我们可以说电脑和cpu、主板之间存在组合关系。

 

class  Cpu:#定义一个Cpu类
def __init__(self,cpubrand,cpuprice):#cpu的属性有品牌、价格等
self.cpubrand=cpubrand
self.cpuprice=cpuprice


def calc(self):
print("CPU是电脑的大脑,你能进行大量的计算")


class Mainboard:#定义一个主板类
def __init__(self,mbprice,mbsize):#主板的属性有价格和型号
self.mbprice=mbprice
self.mbsize=mbsize

def connect(self):
print("主板类似于人类的脊椎神经,它能够将显卡、声卡等设备联系起来")

class Computer:#定义一个电脑类
def __init__(self,comprice,combrand,cpuprice,cpubrand,mbprice,mbsize):
self.comprice=comprice
self.combrand=combrand
self.cpu=Cpu(cpuprice,cpubrand)
self.mainboard=Mainboard(mbprice,mbsize)
def play_game(self):
print("嘿嘿,我们可以用电脑来玩游戏啊")

com=Computer(6999,"三星",2345,"intel",3998,"b53")
print(com.cpu.cpuprice)


执行结果为:
intel


组合的方式,同样使得类与类之间产生了联系。
posted @ 2018-06-01 19:01  南邪  阅读(132)  评论(0编辑  收藏  举报