类 (计算机科学)
维基百科,自由的百科全书
-{zh-cn:类;zh-tw:類別}-是对于有同样属性、共同的行为、共同的联系和共同的语义的对象的描述。
目录 |
[编辑] 什么是-{zh-cn:类;zh-tw:類別}-?
在现实世界中,经常有属于同一类的-{zh-cn:对象;zh-tw:物件}-。例如,你的自行车 只是世界上很多自行车中的一辆。在面向对象软件中,也有很 多共享相同特征的不同的-{zh-cn:对象;zh-tw:物件}-:矩形、雇用记录、视频剪辑 等。可以利用这些-{zh-cn:对象;zh-tw:物件}-的相同特征为它们建立一个蓝图。-{zh-cn:对象;zh-tw:物件}- 的软件蓝图称为类。
定义:-{zh-cn:类;zh-tw:類別}-是定义同一类所有对象的变量和方法的蓝图或原型。例如,可以建立一个定义包含当前档位等实例变量的自行车 -{zh-cn:类;zh-tw:類別}-。这个-{zh-cn:类;zh-tw:類別}-也定义和提供了实例方法(变档、刹车)的实现。
实例变量的值由-{zh-cn:类;zh-tw:類別}-的每个实例提供。因此,当你创建自行车-{zh-cn:类;zh-tw:類別}- 以后,必须在使用之前对它进行实例化。当创建类的实例时, 就建立了这种类型的一个对象,然后系统为-{zh-cn:类;zh-tw:類別}-定义的实例变量 分配内存。然后可以调用对象的实例方法实现一些功能。相同-{zh-cn:类;zh-tw:類別}-的实例共享相同的实例方法。
除了实例变量和方法,-{zh-cn:类;zh-tw:類別}-也可以定义类变量和类方法。可以从-{zh-cn:类;zh-tw:類別}-的实例中或者直接从-{zh-cn:类;zh-tw:類別}-中访问类变量和方法。类方法只能操 作类变量 - 不必访问实例变量或实例方法。
系统在第一次在程序中遇到一个类时为这个类建立它的所有类 变量的拷贝 - 这个类的所有实例共享它的类变量。
[编辑] -{zh-cn:类;zh-tw:類別}-和-{zh-cn:对象;zh-tw:物件}-
你可能会注意到-{zh-cn:对象;zh-tw:物件}-和-{zh-cn:类;zh-tw:類別}-的说明很相似。实际上, -{zh-cn:类;zh-tw:類別}-和-{zh-cn:对象;zh-tw:物件}-之间的差别经常是一些困惑的起源。在现实世界中很明显,-{zh-cn:类;zh-tw:類別}-不是它描述的-{zh-cn:对象;zh-tw:物件}- - 自行车的 蓝图不是自行车。但是在软件中就有点难区分-{zh-cn:类;zh-tw:類別}-和 对象。着部分是由于软件-{zh-cn:对象;zh-tw:物件}-只是现实世界的电子 模型或抽象概念。但是也由于很多人用“-{zh-cn:对象;zh-tw:物件}-”指 -{zh-cn:类;zh-tw:類別}-和它们的实例这两者。
[编辑] -{zh-cn:类;zh-tw:類別}-的好处
-{zh-cn:对象;zh-tw:物件}-提供了模型化和信息隐藏的好处。-{zh-cn:类;zh-tw:類別}-提供了可重用性的好处。自行车制造商一遍一遍地重用相同的蓝图来制造大量的自行车。软件程序员用相同的-{zh-cn:类;zh-tw:類別}-,即相同的代码一遍一遍地建立-{zh-cn:对象;zh-tw:物件}-。