如果抽象被定义为隐藏实现细节,那么这意味着调用toString方法是一个抽象的例子吗?
答案 0 :(得分:2)
在java中,根类Object
有一个默认的toString
方法,每个子类都会继承这个方法(尽管通常它被覆盖),它是一个抽象的例子。
答案 1 :(得分:2)
是
由于toString
是由Object
类定义的实例方法,因此其调用是虚拟的。因此,它隐藏了调用者的行为细节,使其成为抽象的一个例子。
答案 2 :(得分:2)
抽象意味着只在您的设计/代码中添加应用程序所需的那些组件。
隐藏实现细节是封装。
实现toString()
更像是封装的一个例子。推理:对象决定了有关self的信息,是否要为输出流提供信息。
有关详细说明,请参阅this。
答案 3 :(得分:1)
抽象意味着,定义现实世界的相关部分。您可能会混合使用典型的OOP语言关键字 abstract ,而不是接口声明。正如wikipedia所说:
抽象类型非常有用,因为它们可用于定义和实施协议;实现协议的所有对象必须支持的一组操作。
所以它是OOP原则的抽象,但是你创建的现实世界的每个模型都是一个抽象,所以定义一个类。
隐藏实施细节是encapsulation的一部分。
如果我错了,请纠正我。