1.开放封闭原则
定义:
一个软件实体如模块,类,函数应该对扩展开放,对修改关闭。即软件实体应该在不修改源码的情况下进行修改。
理解:
面向对象软件开发过程中,存在类的封装,类实例化出对象,对象调用类中方法和属性。
一个类可以实例出多个对象,类中方法、属性被多个对象和引用,因此一般不要修改类中已存在的方法,而是应该在不影响其原有的功能上,去修改其功能。
2.里斯替换原则
定义:所有引用父类的地方必须能透明地使用其子类的对象,一个简单的例子加强理解
理解:User类中和VIPUSer类中都有print方法。不论使用User还是继承User的VipUser,调用的方式是一样的。这就要求User和VipUser的方法参数和返回值类型是一样的。
class User(object):
def print_name(self):
print('这个是User类中的print_name方法')
class VipUser(User):
def print_name(self):
"""
保证参数和返回值类型需要和父类一样
:return:
"""
print('这个是VipUser类中的print_name方法')
def print_name(u):
"""