https://yq.aliyun.com/articles/45638
开放封闭原则,是面向对象编程的核心,也是其他五大设计原则实现的终极目标。只有对抽象编程,而不是对具体编程才是遵循了开放封闭原则。
开放:指的是软件对扩展开放。
封闭:指的是软件对修改封闭。
即软件增加或改变需求是通过扩展来到,而不是通过修改来实现的。即一个类定型后尽量不要去修改。而是通过增加新类来满足需求。
举例:银行的统一叫号系统。代码如下
class BankProcess(object):
def __init__(self):
pass
def deposite(self):
print('deposite')
def withdraw(self):
print('withdraw')
class Customer(object):
def __init__(self, type):
self.type = type
class Client(object):
def __init__(self, customer):
self.customer = customer
self.bankprocess = BankProcess()
def process(self):
if self.customer.type == 'deposite':
self.bankprocess.deposite()
elif self.customer.type == 'withdraw':
self.bankpr