Java OOP 面向对象七大原则

面向对象编程的基本原则

封装

封装是面向对象编程的基本原则之一。它指的是将数据和相关的方法封装在一个对象中,对象通过接口(interface)提供对数据和方法的访问。封装可以隐藏内部的实现细节,提供对外的安全接口,同时提高代码的可维护性和可复用性

继承

继承是面向对象编程的另一个基本原则。它允许创建一个新的类,继承(extends)已有类的属性和方法,并可以在此基础上添加新的特性。通过继承,可以实现代码的重用和扩展,减少重复编写代码的工作量。

多态

多态是面向对象编程的重要特性之一。它允许不同的对象对同一消息作出不同的响应。多态通过方法的重写(Override)接口的实现(implements)实现,提供了代码的灵活性和可扩展性。多态性可以使代码更具可读性和可维护性,同时支持代码的扩展和修改。


面向对象编程(OOP)有一些基本的原则,通常被称为SOLID原则。这五个原则分别是:

  1. 单一职责原则 (Single Responsibility Principle - SRP):

    • 意义:一个类应该只有一个修改的原因,即一个类应该只负责一组相关的功能

    • 应用:确保一个类或模块只关注一个方面的功能。如果一个类承担了过多的责任,就考虑将其拆分为多个类,每个类专注于一个单一职责。

  2. 开闭原则 (Open/Closed Principle - OCP):

    • 意义:软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。这意味着可以通过扩展现有的代码来应对新的需求,而不需要修改已有的代码

    • 应用:通过抽象和接口定义可扩展的框架,使得新功能的添加不会影响到现有代码。使用多态性和抽象类来实现开闭原则。

  3. 里氏替换原则 (Liskov Substitution Principle - LSP):

    • 意义:子类型必须能够替换掉它们的基类型,而不改变程序的正确性。

    • 应用:子类应该继承自父类,并且能够替代父类在任何使用父类的地方,而不引起错误。这确保了代码在使用多态性时的正确性。

    • 注意:

      • 由于使用基类对象的地方都可以使用子类对象,因此在程序中尽量使用基类类型来对对象进行定义,而在运行时在确定其子类类型,用子类对象来替换父类对象。

      • 尽量不要改变父类原有的功能(添加新的方法,完成新的功能等),如果通过重写父类的方法来完成一些新的功能,这样写起来比较简单,但是整个继承体系的可复用性就会越来越差

  4. 接口隔离原则 (Interface Segregation Principle - ISP):

    • 意义:不应该强迫一个类实现它不需要的接口。

    • 应用:将大接口拆分为更小的、更具体的接口,以确保类只需要实现与其相关的方法。这有助于减少类之间的依赖性,提高系统的灵活性。

  5. 依赖反转原则 (Dependency Inversion Principle - DIP):

    • 意义:高层模块不应该依赖于低层模块,两者都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。

    • 应用:通过使用接口或抽象类,确保高层模块和低层模块都依赖于抽象。这有助于减少模块之间的直接依赖,提高系统的灵活性和可维护性。简单来说,依赖倒转原则就是指:代码要依赖于抽象的类,而不是依赖于具有的类,要针对接口或抽象类编程,而不是针对具体的类编程

遵循这些原则有助于构建灵活、可维护和可扩展的代码。虽然这些原则在理论上是抽象的,但在实践中,它们提供了有力的指导方针,有助于设计出高质量的面向对象的软件系统。


本文标题:《Java OOP 面向对象七大原则》作者:Scar
原文链接:https://aki.cc/post/44.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

上一篇: 未命名

相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。