面向对象五原则

单一职责原则

简述:类只负责一个职责,即只干一件事,提高高内聚来减少引起变化的原因

开放封闭原则

简述:类,模块,函数对外是可以拓展,对修改是关闭的
通过将频繁变动的部分封装在抽象以保证对外不可修改

里氏替换原则

简述:子类可以扩展父类的功能,但不能改变父类原有的功能
子类可以实现父类抽象方法,不可重写父类的非抽象方法(已实现的)
子类可以拓展新方法
重载父类方法时,形参应该更宽泛
实现父类抽象方法时,返回值更严谨

接口隔离原则

简述:保证接口的方法职责不冗余,对接口的职责按需划分为不同的接口
通过对臃肿的类继承的接口进行划分为不同的接口,让每个类只继承其所需要的接口

依赖倒置原则

简述:
高层次的模块不应该依赖低层次的模块,他们都应该依赖于抽象
抽象不应该依赖于具体实现,具体实现应该依赖于抽象

  • 一般情况下,高层次的模块使用低层次模块的子类,当低层次模块添加子类时,高层次模块可能受影响
  • 依赖倒置原则下高层次模块需要依赖于其对应的抽象,在高层次模块上调用子类实例时,通过抽象的形式调用对应的实例,新增子类时,只要继承抽象即可,减少对低层次模块的依赖
  • 举例:工厂模式,通过工厂方法,不用关心类,不用直接实例化类实例,通过工厂方法,直接获取类实例,新增方法,最多修改工厂方法,如果工厂方法使用抽象进行实例化,则不需要调整工厂方法,只要增加类即可
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容