一、封装、抽象、多态、继承
封装
又叫信息隐藏,通过访问权限控制实现(public、private)。
意义:保护数据不被随意修改,提高代码的可维护性;暴露有限的必要接口,提高类的易用性。
抽象
隐藏实现细节,使用者只需要关心提供的功能。
意义:提高可扩展性、维护性(修改实现无需改变定义);过滤不必要关注的信息,用于复杂系统。
继承
表示类之间的is-a关系。
意义:解决代码复用问题。
注意:多继承会出现钻石问题
多态
子类可以替换父类。
意义:提高代码扩展性和复用性
实现方式:
-
继承加重写方法
-
duck-typing
class Logger: def record(self): print(“I write a log into file.”) class DB: def record(self): print(“I insert data into db. ”) def test(recorder): recorder.record() def demo(): logger = Logger() db = DB() test(logger) test(db)