使用toString()方法是抽象的一个例子吗?

3
如果将抽象定义为隐藏实现细节,那么调用toString方法是否就是抽象的一个例子呢?
4个回答

2
在Java中,根类Object有一个默认的toString方法,每个子类都会继承这个方法(尽管通常被覆盖),这是抽象化的一个例子。

2

是的。

toString是由Object类定义的实例方法,因此它的调用是虚拟的。因此,它隐藏了行为细节,让调用者不需要了解这些细节,这是抽象的一个例子。


2

抽象化意味着只向设计/代码中添加应用程序所需的组件。

隐藏实现细节是封装。


实现toString()更多地是封装的一个例子。原因:对象决定它想要向输出流提供关于自身的哪些信息。


详细解释请参见此处


1
抽象化意味着定义现实世界的相关部分。您可能会混淆典型的面向对象编程语言关键字“abstract”,它更像是接口的声明。正如wikipedia所说:

抽象类型很有用,因为它们可以用于定义和执行协议;所有实现该协议的对象都必须支持一组操作。

因此,它是基于面向对象编程原则的抽象化,但是您创建的每个现实世界模型都是一种抽象化,因此需要定义一个类。
隐藏实现细节更多地属于封装的一部分。
如果我错了,请纠正我。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接