爱心技术专栏专题

序员必读:基础篇(4)

摘录:java 来源:java 加入时间:2006年08月12日
摘要:
序员必读:基础篇(4)

JAVA程序员必读:基础篇
时间:2001/09/13 13:31作者:ZSC

序员必读:基础篇(4)

站点:爱心种子小博士 关键字:序员必读:基础篇(4)

   
序员必读:基础篇(4)
JAVA程序员必读:基础篇
时间:2001/09/13 13:31作者:ZSC


 
2.3什么是类

类实际上是对某种类型的对象定义变量和方法的原型。

在现实世界中,你经常看到相同类型的许多对象。比如 ,你的自行车只是现实世界中许多自行车的其中一辆。使用面向对象技术,我们可以说你的自行车是自行车对象类的一个实例。通常,自行车有一些状态(当前档位、两个轮子等等)以及行为(改变档位、刹车等等)。但是,每辆自行车的状态都是独立的并且跟其它自行车不同。

当厂家制造自行车的时候,厂商利用了自行车共有的特性来根据相同的蓝图制造许多自行车。如果制造一辆自行车就要产生一个新蓝图,那效率就太低了。

在面向对象软件中,同样地,可以让相同种类地许多对象来共有一些特性,比如矩形、雇员记录、视频夹等等。就象自行车制造商人,你可以利用相同种类的对象是相似的事实并且你可以为这些对象创建一个蓝图。对对象的软件蓝图叫做类。

自行车的类需要定义一些实例变量来包括当前档位、当前速度等等。这个类将为实例方法定义和提供实施方法,它允许骑车者改变档位、刹车以及改变脚踏板的节奏,如图5所示:


(图5)


当你创建了自行车类以后,你可以从这个类创建任意个自行车对象。当你创建了一个类的实例后,系统将为这个对象和的实例变量分配内存。每个实例将给所有实例变量的副本定义在类中。如图6所示:



(图6)


除了实例变量,类还要定义类的变量。类变量包含了被类所有实例共享的信息。比如,假设所有的自行车有相同的档位数。在本例子中,要定义一个实例变量来容纳档位数。每一个实例都会有变量的副本,但是在每一个实例中数值都是相同的。在这样的情况下,你可以定义一个类变量来包含档位数,这样所有的类的实例都共享这个变量。如果一个对象改变了变量,它就为改变那个类的所有对象。类同样可以定义类方法。你可以直接从类中调用类方法,然而你必须在特定的实例中调用实例方法。如图7所示。


(图7)