为什么 class 被称为对象的抽象?

Why is a class called an abstraction of an object?

我知道 class 本质上是一个对象的蓝图,但是 class 是一个对象的 'abstraction' 这个想法对我来说有点难以概括我的头...如果有人能告诉我这句话的真正含义:"A class is an abstraction of an object",我将不胜感激。

我的困惑是因为这个说法被不同的人有不同的解释...

'abstraction'是否表示:

  1. 处理系统的基础知识,而不是该系统的深层复杂性?

或者这是否意味着:

  1. 只有抽象class才能算是对象的抽象?

提前致谢, Abhigyan

一个class是对某类对象中所有事物的描述。例如,一辆汽车会有方向盘、座椅、仪表盘等,还有加速、停止等功能。每辆汽车都是一个汽车对象,但概念车类似于 class.

Dealing with the basics of a system, and not the deep intricacies of that system?

有点,因为 class 通常不会准确描述每个字段的内容(例如,方向盘的颜色)

Only an abstract class can be considered an abstraction of an object?

不,这比 Java 中的抽象关键字更通用。

基本上,class 是一种抽象,因为它描述了创建的内容,而对象本身就是创建的。

一个class可以实例化成对象。它捕捉了所有这些对象的共同特征。

A​​ class 定义字段和行为(方法)。它被实例化为对象,对象包含这些字段的具体值。

抽象作为一个术语在许多层面上使用——最常见的是在行为方面。然而在这方面,它正在被使用 value.

我们可以更清楚地说明:A class 是对其实例的可能值的抽象。

伪代码示例:

public class Cat {
    String name;
    String color;
}

object Cat ("Missy", "grey");
object Cat ("Whiskers", "orange");
object Cat ("Fluffy", "black");

正如我们所见,class 对其实例的值进行了抽象。