站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题JAVA程序员必读:基础篇3

JAVA程序员必读:基础篇3

摘要: JAVA程序员必读:基础篇3

  2.2什么是消息
软件对象之间进行交互作用和通讯是利用消息的。
单一的一个对象通常不是很有用的。相反,一个对象通常是一个包含了许多其它对象的更大的程序或者应用程序。通过这些对象的交互作用,程序员可以获得高阶的功能以及更为复杂的行为。你的自行车如果不使用它的时候,它就是一堆铝合金和橡胶,它没有任何的活动。而只有当有其它的对象来和它交互的时候才是有用的。
软件对象与其它对象进行交互与通讯是利用发送给其它对象来实现的。当对象A想对象B来执行一个B中的方法,对象A就会消息给对象B。如图3所示。
(图3)
有时候,接收的对象需要更多的信息就至于它可以正确知道该如何做。比如,当你想改变自行车的齿轮,你就必须指出哪个齿轮。这个信息是将信息作为参数来传递的。如图4所示的现实了一个信息由三个组件组成:
被寻址消息的对象(YourBicycle)
要执行方法的名字(changeGears)
这个方法需要的所有参数(lowerGear)
(图4)
上面的三个组件对于接收方的对象执行相应的方法是给出了充分的信息。再也不需要其它的信息或者上下文了。
消息提供了两个重要的好处:
对象的行为是通过它的方法来表达的,因此消息传递支持所有在对象之间的可能的交互。
对象不需要在相同的进程或者相同的机器上来发送和接收消息给其它的对象 2.3什么是类
类实际上是对某种类型的对象定义变量和方法的原型。
在现实世界中,你经常看到相同类型的许多对象。比如 ,你的自行车只是现实世界中许多自行车的其中一辆。使用面向对象技术,我们可以说你的自行车是自行车对象类的一个实例。通常,自行车有一些状态(当前档位、两个轮子等等)以及行为(改变档位、刹车等等)。但是,每辆自行车的状态都是独立的并且跟其它自行车不同。
当厂家制造自行车的时候,厂商利用了自行车共有的特性来根据相同的蓝图制造许多自行车。如果制造一辆自行车就要产生一个新蓝图,那效率就太低了。
在面向对象软件中,同样地,可以让相同种类地许多对象来共有一些特性,比如矩形、雇员记录、视频夹等等。就象自行车制造商人,你可以利用相同种类的对象是相似的事实并且你可以为这些对象创建一个蓝图。对对象的软件蓝图叫做类。
自行车的类需要定义一些实例变量来包括当前档位、当前速度等等。这个类将为实例方法定义和提供实施方法,它允许骑车者改变档位、刹车以及改变脚踏板的节奏,如图5所示:
(图5)
当你创建了自行车类以后,你可以从这个类创建任意个自行车对象。当你创建了一个类的实例后,系统将为这个对象和的实例变量分配内存。每个实例将给所有实例变量的副本定义在类中。如图6所示:
(图6)
除了实例变量,类还要定义类的变量。类变量包含了被类所有实例共享的信息。比如,假设所有的自行车有相同的档位数。在本例子中,要定义一个实例变量来容纳档位数。每一个实例都会有变量的副本,但是在每一个实例中数值都是相同的。在这样的情况下,你可以定义一个类变量来包含档位数,这样所有的类的实例都共享这个变量。如果一个对象改变了变量,它就为改变那个类的所有对象。类同样可以定义类方法。你可以直接从类中调用类方法,然而你必须在特定的实例中调用实例方法。如图7所示。
↑返回目录
前一篇: JAVA程序员必读:基础篇4
后一篇: JAVA程序员必读:基础篇2