我最近偶然发现了一个有趣的问题(或者可能只是作者的错误),我开始质疑自己。经过一番研究,我不得不说我不能100%确定我的答案,所以我想问我的想法是否正确。问题是:
描述面向对象的编程范式s
我一开始以为这就是多态、继承、封装、抽象。但为什么会有多种形式呢?据我了解,我的答案是范式(单个)的描述,而不是范式(复数)。我错过了什么吗,或者这是正确的答案?
我的论点基于
paradigm
的定义,这通常是做某事的一种模式。范式是:
您可能想看看 Alan Kay 对此有何评论:http://c2.com/cgi/wiki?AlanKaysDefinitionOfObjectOriented
链接中的必要摘录:
这个定义源自 Smalltalk 的早期版本(Smalltalk-72?),规则 5 和 6 清楚地显示了 Smalltalk 的 Lisp 遗产。 Kay 如此评论,并指出规则 4-6 会随着 Smalltalk 的发展而发生变化。
“Alan Kay,被一些人认为是面向对象编程之父,他将以下特征确定为 OOP 的基础:”
这取决于视角,更好地说是粒度,或者你想比较或强调什么。
面向对象编程是其中一种编程范式。但面向对象编程也有不同的类别。将它们称为面向对象编程范例是有意义的。
请参阅 https://en.wikipedia.org/wiki/Object-oriented_programming 以获取精美的编程范例列表。
OOP 起源于 20 世纪 60 年代末和 1970 年代初,并于 20 世纪 80 年代末正式引入。 OOP 的主要支持者是 Alan Kay、Bertrand Meyer 和 Grady Booch。
OOP 背后的思想是在计算机程序中表示现实世界的对象及其行为。这使得开发人员能够编写更直观、更容易理解的软件,并通过创建可在多个应用程序中使用的对象来重用代码。
面向对象编程(OOP)是一种基于对象概念的编程范式,对象可以包含数据和行为。在 OOP 中,对象通过发送消息来相互交互,并且对象可以分组为类,类定义它们共享的行为和数据。
OOP 随着时间的推移而发展,它的使用在软件行业中已经变得广泛。如今,多种编程语言支持 OOP,包括 PHP、Java、Python、C++、Ruby 等。