我想知道 C、C++ 和 Java 中的所有原始数据类型都是抽象数据类型,因为它们的实现是隐藏的。
还有一件事:
我想问的是一个ADT有没有Abstract View(所有可以对其操作的函数)和implementation view(函数和数据类型是如何实现的)两部分。那么如何在 C++ 中创建 ADT??
与java一样,抽象 View 可以使用接口(interface)实现,而实现 View 则使用类实现。
最佳答案
想想抽象与具体(这里的术语具体是为了说明目的。
不能创建抽象类,可以创建具体类。当您从抽象类继承并定义所有抽象方法时,它现在是具体的。
因为你可以实例化一个 int
它不是抽象的,而是具体的
并不是隐藏的实现使其变得抽象,而是它尚未定义。
如果您有一个抽象基类,那么某些功能必须由其子类定义。可见性无关紧要。您不能从 int
继承它是 POD(普通旧数据)类型
在 C++ 中 std::string
有一个可见的实现,在 java 中,它的一部分是隐藏的(这就是为什么 + 可以用来在 Java 中连接字符串)
关于java - int、char也是抽象数据类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30686742/