我知道这个问题已经被问到了,但我没有把它弄得很对,我想知道,这是基础的,类或类型。我有几个问题,请为我清楚,
请清楚这一点,谢谢。
答案 0 :(得分:1)
这很可能取决于语言。我在OO中将类型和类视为相同的东西,只区分类(对象族的定义)和实例(或对象),类的具体具体事件。
我最初来自一个C世界,其中int
之类的语言定义类型与您使用typedef
或struct
创建的类型之间没有真正的区别。
同样地,在C ++中,std::string
和你自己组合的任何类之间几乎没有差异(可能没有),除了std::string
几乎肯定是无bug的事实。在我们自己的代码中并不总是必要的: - )
我听说人们认为类型是没有方法的类,但我不相信这种区别(再次因为我的C / C ++背景)。
在积分(在集成而非整数意义上)类型和类类型之间的某些语言的基本差异。可以扩展类,但int
和float
(C ++示例)不能。
答案 1 :(得分:1)
我没有使用多种语言。也许,我的问题是正确的:Java,C#,Objective-C
1 /我认为类型实际上是人们谈论它的数据类型。
2 / No.我们可以定义类型和类。类A的对象具有类型A.例如,如果我们定义String s = "123";
,则s具有类型String,属于类String。但反之亦然。
例如:
class B {}
class A extends B {}
B b = new A();
然后你可以说b有B类,属于A类和B类。但是b没有A类。
3 /无类型语言是一种允许您更改变量类型的语言,如javascript。
var s = "123"; // type string
s = 123; // then type integer
4 /我不太了解,但我认为它不仅限于oop。它也可以是程序编程
答案 2 :(得分:1)
在OOP语言中,类指定对象的定义。在许多情况下,该对象可以作为函数中参数匹配等类型的类型。
因此,举例来说,在定义函数时,指定应传递给函数的数据类型以及返回的数据类型:
int AddOne(int value) { return value+1; }
使用int类型作为返回值和传入的参数。
在具有两者的语言中,类型和类/对象的概念几乎可以互换。但是,有许多语言没有这两种语言。例如,我认为标准C不支持自定义对象,但它确实仍然有类型。另一方面,PHP和Javascript都是类型定义非常松散的语言示例(基本上,类型是单项,集合/数组/对象或未定义[仅限js]),但它们完全支持类/对象
另一个关键区别:您可以使用与类/对象关联的方法和自定义函数,但不能使用标准数据类型。
希望澄清一些。回答您的具体问题: