首页 > 编程语言 > 详细

(一)Python入门-6面向对象编程:12组合

时间:2019-05-12 00:19:50      阅读:146      评论:0      收藏:0      [点我收藏+]

组合:

  “is-a”关系,我们可以使用“继承”。从而实现子类拥有的父类的方法和属性。“is-a” 关系指的是类似这样的关系:狗是动物,dog is animal。狗类就应该继承动物类。

  “has-a”关系,我们可以使用“组合”,也能实现一个类拥有另一个类的方法和属性。” has-a”关系指的是这样的关系:手机拥有 CPU。 MobilePhone has a CPU。

【操作】

#测试组合
import copy
class MobilePhone:
    def __init__(self,cpu,screen):
        self.cpu = cpu
        self.screen = screen

class CPU:
    def calculate(self):
        print(计算。。。。。)

class Screen:
    def show(self):
        print(显示。。。。。)

c = CPU()
s = Screen()
m = MobilePhone(c,s)

m.cpu.calculate()   #通过组合,调用cpu对象的方法,相当于手机对象间接拥有了‘cpu的方法’
m.screen.show()     #通过组合,调用screen对象的方法,相当于手机对象间接拥有了‘screen的方法’

运行结果:

  计算。。。。。
  显示。。。。。

(一)Python入门-6面向对象编程:12组合

原文:https://www.cnblogs.com/jack-zh/p/10850332.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!