面向对象编程中的类型

waj*_*jed 5 c c++ java oop

我很困惑为什么类被认为是数据类型.

我知道它们中的一部分是"数据",另一部分是方法.他们为什么称为数据类型?

过程编程语言(如C)中的过程有时会包含一种或多种基本数据类型.但它们并不称为数据类型.

aio*_*obe 7

根据维基百科的定义:

[...]数据类型(或数据类型)是标识各种类型数据之一的分类,例如浮点数,整数或布尔值,用于确定该类型的可能值; 可以对该类型的值进行的操作; 以及可以存储该类型的值的方式.

我认为类很适合定义,而像C这样的过程编程中的过程根本不适合.

类表示一组可能的值(对象),并定义可以对此类型的值执行的可能操作.它还清楚地说明了如何在内存中表示类的对象.

然而,C中的过程并未确定一组可能的值,并且说有定义说明可以对过程执行哪些操作是没有意义的.

也许您的困惑源于函数式编程的一些文本,其中过程(或函数)被视为具有特定类型的第一类值.