|
原型模式:用原型类的实例来指定创建新对象的种类,通过拷贝原型的方式创建新的对象。
代码:
- import pyb, copy
- class LEDx:
- def OnRed(self):
- pyb.LED(1).on()
- def OnYellow(self):
- pyb.LED(2).on()
- def OnGreen(self):
- pyb.LED(3).on()
- def OnBlue(self):
- pyb.LED(4).on()
- def Clone(self):
- return self
- if __name__ == "__main__":
- a = LEDx()
- b = a.Clone()
- c = copy.copy(a)
- d = copy.deepcopy(a)
-
- a.OnRed()
- b.OnYellow()
- c.OnGreen()
- d.OnBlue()
复制代码
用到了copy和deepcopy的方法,为了对比,类中添加了一个Clone的方法,其实就是返回了自身。
注意,要用copy和deepcopy,需要安装micropython-lib,我没有安装,所以这个例子没有运行成功。
micropython-lib的下载地址为:https://github.com/micropython/micropython-lib
|
|