【发布时间】:2021-05-15 20:59:52
【问题描述】:
我对编程完全陌生,不明白为什么抽象是 OOP 的优势。所有网站都提到抽象是 OOP 的主要优势之一,但这也可以通过程序实现。
如果我写:
int add(int x, int y){
return x + y;
}
int main() {
int z = add(3,4);
}
抽象用于隐藏背景细节或任何不必要的数据实现,以便用户只看到所需的信息,那么这不也是抽象,因为用户可以在不知道它是如何工作的情况下使用“添加”吗?我是不是把抽象的概念弄错了,因为这基本上是我在网上得到的关于抽象的唯一定义?如果不是,那么如果您可以在没有 OOP 的情况下实现它,那为什么它是一个“优势”?
【问题讨论】:
-
如果您遇到有人告诉您“OOP”和“抽象”只能用于几种选定的语言,那么您可以告诉他们他们错了。您可以将 OOP 原则和抽象应用于几乎任何语言。
-
是的,函数就是抽象的一个例子。
-
“抽象”是一个非常宽泛的术语,其含义远不止“代码调用者不必了解实现细节”。
-
你在这里展示的是一个抽象是的。但是你可以做比 OOP 更复杂的抽象。你可以抽象更多。它不像抽象或没有抽象那样二元化。
标签: c++ oop procedural-programming