zoukankan      html  css  js  c++  java
  • 组合

    什么是组合?

      一个对象的属性是来自于另外一个类的对象,称之为 组合。

    为何用组合?

      组合也是用来结解决类代码冗余的问题。

    如何使用?

    继承是一种很有用的技术,不过还有一种实现相同功能的方法(组合),就是直接使用别的类和模块,而非依赖于隐式继承。

    class Other(object):
        def override(self):
            print("othre override()")
    
        def implicit(self):
            print("other implicit()")
    
        def altered(self):
            print("other altrred()")
    
    class Child(object):
        def __init__(self):
            self.other=Other()
        def implicit(self):
            self.other.implicit()
        def override(self):
            print("CHILD override()")
        def altered(self):
            print("CHILD,BEFORE OTHER altered")
            self.other.altered()
            print("CHILD,AFTER OTHER altered()")
    
    son = Child()
    
    son.implicit()
    son.override()
    son.altered()

    结果:

    other implicit()
    CHILD override()
    CHILD,BEFORE OTHER altered
    other altrred()
    CHILD,AFTER OTHER altered()

     这里的关系是 “A”里有“B”  ,可以看出Child 和Other 里的大部分内容是一样的,做一样的事,唯一不同的是我必须定义一个Child。implicit 函数来完成它的功能

  • 相关阅读:
    jQuery知识点
    mysql基本命令
    正则表达式
    vue跨域解决方法
    字符串反转
    两个数组的交集
    删除排序数组中重复项
    缺失的第一个正整数
    275. H 指数 II
    274. H 指数
  • 原文地址:https://www.cnblogs.com/TF511/p/9844354.html
Copyright © 2011-2022 走看看