码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-05-12 01:13:11      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:int   实现   操作   class   col   python入门   mob   组合   alc   

组合:

  “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组合

标签:int   实现   操作   class   col   python入门   mob   组合   alc   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!