使用UML类图设计Java应用程序(一) - 编程入门网
成String对象。静态方法类似于静态变量,它整体上应用于类,而不是作为类实例的各个对象使用。由于面向对象,静态方法只能访问静态变量。所有静态方法都是定局的,不能被覆盖。
DisplayRow()方法在控制台窗口上显示一行网格,show()方法把drawGrid()和displayGrid()方法组合成一个方法。 五、BorderPrintCGrid类 BorderPrintCGrid类是PrintCGrid类的子类,它进一步扩展了CGrid类。它增加了生成类PrintCGrid对象的边界的变量和方法。类图见如下所示: BorderPrintCGrid类有四个私有变量:useBorder、borderCharacter、horizEdge和vertEdge。UseBorder是boolean类型的变量,它决定边界是否应该显示。BorderCharacter为用于显示边界的字符。HorizEdge和vertEdge用于显示边界的水平和垂直边界的String对象。 BorderPrintCGrid类有两个。第一个构造函数没有参数。它调用PrintCGrid类的构造函数构造一个75字符宽20行高的网格,其边界字符为*。SetBorderDefaults()方法用于初始化BorderedPrintCGrid类的变量。第二个构造函数类似于第一个构造函数,但它提供了直接指定网格尺寸及边界字符的功能。 BorderPrintCGrid类提供4个访问方法。SetBorderDefaults()方法使用enableBorder()方法和setBorderCharacter()方法初始化BorderedPrintCGrid类的变量。enableBorder()方法把useBorder设置成true或false。setBorderCharacter()方法设置displayGrid()方法所用的borderCharacter、horizEdge和vertEdge变量。 BorderedPrintCGrid类是PrintCGrid的子类,其类图关系表示为: 使用UML类图设计Java应用程序(一)(5)时间:2011-01-23 龚赤兵displayGrid()方法覆盖 PrintCGrid类的displayGrid()方法。通过重新定义该方法以满足自己的需要。其中的super语句,将调用PrintCGrid.displayGrid()。 该类的实现代码为: 到这里,我们的程序设计与实现已完成将近一半。我们用UML类图分析了5个类,但这些类之间是如何相互作用而构成我们的应用程序呢?现在我们回过头来分析前面5个类之间的相互关联。首先我们分析继承概念在UML类图中的表示。 通过UML类图中的各类之间的继承关系表示法,我们清楚地知道,CGrid是超类,PrintCGrid是CGrid的子类,BorderedPrintCGrid是PrintCGrid以及CGrid的子类。 在Java类的代码实现中,一定要用相应的extends语句来表示实际的继承关系。 一般类与类之间的关系我们可以用关联来表达。如在类CGrid中,在GetCharFrom()和SetCharAt()方法中我们使用了Point类来定义它们的参数,这是类CGrid对Point类的引用。类CGrid可以引用多个Point对象,因此,在多重性的概念中,表示该类CGrid可以与多个Point对象关系。 使用UML类图设计Java应用程序(一)(6)时间:2011-01-23 龚赤兵在UML类图中,我们用一条实线表示这种关联为依赖关系,通过开叉的箭头表示是CGrid类引用Point类。箭头上方的0..*表示可以与多个对象关联。如果是0..1表示可以与1个对象关联;如果是1表示必须与1个对象关联;如果是1..*表示必须与至少1个对象关联。 同样,在PrintCGrid类中,在其变量申明中,有对CGObject的引用,并且也是多重引用。其UML类图关系可以表示为: 因此,以上5个类之间的相互关系,用UML类图关系可以清楚地表示为: 本部分说明了5个类的UML类图表示、UML类图关系以及相应的Java实现代码。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |