OOP基础与SOLID之间的区别?

Ash*_*rma 26 oop design-patterns solid-principles

我知道OOP(面向对象编程)和SOLID.

  • OOP基础知识
    • 封装
    • 抽象化
    • 遗产
    • 多态性

  • 固体
    • 单一责任原则
    • 开放/封闭原则
    • 利斯科夫替代原则
    • 接口隔离原理
    • 依赖倒置原则)

但是,我不确定具体的区别是什么,以及SOLID是否是OOP的子集.谁能帮助解释这些差异?

Wao*_*aog 19

答案很简单:

  • 不支持Encapsulation,Abstraction,Inheritance和Poly的语言或概念不是面向对象的.如果您执行面向对象的操作,则可以始终应用这些OO基础知识,因为它们是可用的.一个人不称这种事为原则.
  • SOLID作为回报是可选的.在开发OO设计时,您应该通过应用基础知识来努力实现.Solid仅确定您的设计的"好"程度,而不是它是否面向对象.它们是原则.

PS:我不理解你的问题的支持者,因为它是合法的,可以清楚地回答,并且让许多OO新人感到困惑.从我这里投票.


小智 5

面向对象编程是一种基于“对象”思想的编程形式。汇总描述属性(宽度、时间、位置...)和行为(更改宽度、显示时间、计算位置...)的所需实体的代码片段,这些实体协同工作以解决特定问题。SOLID 是一组原则,可帮助您为面向对象领域中的特定问题设计解决方案。将其视为一组规则,可帮助您形象化解决问题的最正确方法。