编程语言中的类和库有什么区别?

时间:2014-01-08 08:03:31

标签: java c++ language-agnostic

例如在C ++中我认为#included是一个库,但后来我发现我错了,例如ifstream作为一个类被称为here。在MSDN,他们不使用单词class或library。

如果库可能提供类或函数,那么它与包(在Java意义上)有什么不同?

3 个答案:

答案 0 :(得分:2)

为了完全与语言无关,图书馆在概念上是一系列功能。期。它可能提供函数,它可能提供类来创建实例(在有类的语言中,有些没有这个概念)。

一个类是一个面向对象的编程概念,它描述了一个具有(可能)数据和(可能)行为(或函数/方法)的实体,通过使用公共/私有数据访问来封装概念和/或功能

当您标记C ++和Java时,我会更准确地回答这些语言。两者都有类(Java有多个类,它只通过类 )。您可以找到这些语言的库,这些库可以提供一组类和函数(在Java中,可以通过静态函数访问,而无需任何类所属的实例)。

现在谈谈你的例子:

在C ++中,您包含标题。他们可以来自图书馆。您提到了ifstream,它是C ++标准库的一个类,可以通过此标准库的标头访问。

答案 1 :(得分:0)

该库是不同类的汇编(在c ++ / c#中,类以.dll格式打包。在java类中以.jar格式打包)。某些库包含为特定功能提供服务的类。而某些库包含各种任务的类。

类是以面向对象的方式使用编程语言的某种行为的实现。

答案 2 :(得分:0)

一般来说,我们认为库是指有助于开发软件的类集合。 但对于这个世界上存在的每种语言都不是这样。一个库可能包含一定数量的类,但它不是强制性的,它可能包含子例程或类型def或任何类型的类。

类提供特定功能或少数特定功能。

现在,它取决于语言如何设置其库的结构或用户的可访问性。