Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OOP基础与实体之间的区别?_Oop_Design Patterns_Solid Principles - Fatal编程技术网

OOP基础与实体之间的区别?

OOP基础与实体之间的区别?,oop,design-patterns,solid-principles,Oop,Design Patterns,Solid Principles,我知道OOP(面向对象编程)和SOLID 面向对象的基础知识 封装 抽象 继承权 多态性 及 坚实的 单一责任原则 开闭原理 利斯科夫替换原理 界面分离原理 依赖倒置原理) 但是,我不确定确切的区别是什么,以及SOLID是否是OOP的子集。有人能解释这些区别吗?答案很简单: 不支持封装、抽象、继承和多边形的语言或概念不是面向对象的。如果你做一些面向对象的事情,你总是可以应用这些面向对象的基础知识,因为它们是可用的。人们不把这样的事情称为原则 固体作为回报是可选的。在开发OO设计

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

  • 面向对象的基础知识
    • 封装
    • 抽象
    • 继承权
    • 多态性

  • 坚实的
    • 单一责任原则
    • 开闭原理
    • 利斯科夫替换原理
    • 界面分离原理
    • 依赖倒置原理)
但是,我不确定确切的区别是什么,以及SOLID是否是OOP的子集。有人能解释这些区别吗?

答案很简单:

  • 不支持封装、抽象、继承和多边形的语言或概念不是面向对象的。如果你做一些面向对象的事情,你总是可以应用这些面向对象的基础知识,因为它们是可用的。人们不把这样的事情称为原则
  • 固体作为回报是可选的。在开发OO设计时,您应该通过应用底层的基础知识,努力做到坚实。Solid只决定设计的“好”程度,而不是它是否是面向对象的。它们是原则

附言:我不理解你的问题的反对票,因为它是合法的,可以得到清楚的回答,并且让很多OO新手感到困惑。向上投票。

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

所有这些术语都有非常描述性的定义,可以通过粗略的谷歌搜索获得。你有什么特别想知道的吗?好吧,如果你继续查找这些术语并阅读它们的定义,你会发现不同的单词和段落被用来描述它们。我担心告诉你所有关于面向对象设计的知识(甚至只是这些特定的原则)对于一个单堆栈溢出问题来说有点太宽泛了。你说“两个都知道”,但你并不真正理解它们(否则你就不会发布这样的问题)。我建议你多读一些关于它们的内容,然后再回答一些你不完全理解的问题。这个问题更适合于面向对象编程风格提供的基本功能(封装、继承、抽象、多态性)。作为一名程序员,我们使用这些特性来创建尽可能最好的面向对象设计(这就是设计模式出现的地方)。这些设计模式帮助我们实现坚实的原则。