标签:自动 访问者模式 备忘录 int 类的方法 模式 访问 代码 method
Christopher Alexander说过,模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样你就能一次又一次地使用该方案而不必做重复劳动。
每一个设计模式系统地命名、解释和评价了面向对象系统中一个重要的和重复出现的设计。
设计模式四个基本要素:模式名称、问题、解决方案、效果
封装:把属性和方法,封装到对象里面,就可以通过对象来调用。私有方法封装在类里面,外界不可见
继承:子类可以直接使用父类拥有的属性和方法
多态:
一种特殊的类,声明了若干方法,要求继承该接口的类必须实现这些方法。对子类的形成约束
作用:限制继承接口的类的方法的名称及调用方式;隐藏类的内部实现
利用raise方法,抛出异常
#!/usr/bin/env python # -*- coding: utf8 -*- # __Author: "Skiler Hao" # date: 2017/6/2 15:45 class Payment: def pay(self,money): raise NotImplementedError class AliPay(Payment): def pay(self,money): print("支付宝支付%s元" % money) class ApplePay(Payment): def pay(self,money): print("苹果支付支付%s元" % money) class WechatPay(Payment): pass WechatPay().pay(100)
利用abc包,实现接口
#!/usr/bin/env python # -*- coding: utf8 -*- # __Author: "Skiler Hao" # date: 2017/6/2 15:45 from abc import ABCMeta, abstractmethod class Payment(metaclass=ABCMeta): @abstractmethod def pay(self, money): pass class AliPay(Payment): def pay(self, money): print("支付宝支付%s元" % money) class ApplePay(Payment): def pay(self, money): print("苹果支付支付%s元" % money) class WechatPay(Payment): def zhifu(self): pass WechatPay()
五、设计模式的分类
a、创建型模式:
b、结构型模式
c、行为型模式
标签:自动 访问者模式 备忘录 int 类的方法 模式 访问 代码 method
原文地址:http://www.cnblogs.com/skiler/p/6934656.html