zoukankan      html  css  js  c++  java
  • 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


    组合的方式,同样使得类与类之间产生了联系。
    在我身后,微笑地活下去吧。
  • 相关阅读:
    十天冲刺---Day10
    十天冲刺---Day9
    团队博客目录
    【Beta阶段】M2事后分析
    【Beta阶段】展示博客
    【Beta阶段】测试报告
    【Beta阶段】发布说明
    【Beta阶段】团队源代码管理
    【Beta阶段】第十次Scrum Meeting!!!
    【Beta阶段】第九次Scrum Meeting!(论坛已成功上线)
  • 原文地址:https://www.cnblogs.com/L-C98/p/9123085.html
Copyright © 2011-2022 走看看