kevin0490 发表于 2018-8-10 13:15:48

Python包装授权

# -*- coding : utf-8 -*-  
"""
  
    包装类,就是给被包装的类加个壳;被包装内实现壳的内部,而包装内提供壳的外部(接口),有点类似于继承关系,
  
    不过也不完全时,因为通过继承也可以实现包装效果,不使用继承同样可以实现包装效果。下面通过一个例子来展示
  
    包装的概念
  
"""
  

  
class PackageList(object):
  
    "包装List类型,使用非继承实现"
  

  
    def __init__(self):
  
      "构造方法,建立一个内部list对象"
  
      self.innerList = []
  

  
    def add(self, element):
  
      "添加一个元素"
  
      self.innerList.append(element)
  

  
    def remove(self, element):
  
      "删除一个元素"
  
      self.innerList.remove(element)
  

  
    def extend(self, elements):
  
      "扩展一个元素或者一个列表"
  
      if isinstance(elements, list):
  
            self.innerList.extend(elements)
  
      else:
  
            self.innerList.append(elements)
  

  
    def get(self, start = 0, end = -1, step = 1):
  
      "获取列表,或者某个元素,或者某个区域的元素"
  
      if isinstance(start, int) and isinstance(end, int) and isinstance(step, int):
  
            if end == -1:
  
                return self.innerList
  
            else:
  
                return self.innerList
  

  
      else:
  
            raise TypeError
  

  
if __name__ == "__main__":
  
    packageList = PackageList()
  
    # 添加一个元素
  
    packageList.add(1)
  
    # 添加一个序列
  
    packageList.extend()
  
    # 删除一个元素
  
    packageList.remove(3)
  
    # 获取列表
  
    print(packageList.get())
页: [1]
查看完整版本: Python包装授权