快速业务通道

Java面向对象编程实例详解 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
le = new EasyReader(); System.out.print("Enter the radius: "); double radius = console.readDouble(); DecimalFormat f3 = new DecimalFormat("0.000"); System.out.println(); // displays a blank line System.out.println("Radius = " + f3.format(radius)); System.out.println("Volume = " + f3.format(volume(radius))); System.out.println("Surface area = " + f3.format(surfaceArea(radius))); System.out.println(); } }

以下是输出结果。

Java面向对象编程实例详解 - 编程入门网

上述经过修改后的程序,其输出结果看起来漂亮多了,但它仍只是一个勉强可以通过的设计程序。该程序采用了结构化编程的风格,并不是面向对象编程。首先,计算过程仍与用户界面实现在同一个类中。另外,对于不同的用户界面,不能体现出面向对象编程的好处,即不能重用这些计算过程。

Java面向对象编程实例详解(3)

时间:2011-01-16 zdnet 龚赤兵

三、面向对象编程方法

要实现上述程序的面向对象编程,我们必须注意:Java应用程序中的每一个类或对象,必须单独实现自己的任务。具体来说,在本程序中,一个类定义球体,即模型或数据表示(Model),另一个类就是实现用户界面(UI)。

另外更重要的,也是中国程序员常常忽视的,就是要考虑到团体的开发与管理,实现面向对象编程,就是让开发组中的每个程序员能独立开发不同的类,非常迅速地提高开发效率。

因此,对于本程序来说,面向对象编程的设计方法就是将Model与UI分别是实现在不同的类中。其示意图如下:

Java面向对象编程实例详解 - 编程入门网

以下分别是该程序的UML类图设计与程序代码。有关UML类图的设计与应用,请查阅作者的另文(《利用UML类图设计Java应用程序详解一、二》)

Sphere的类图设计为:

Java面向对象编程实例详解 - 编程入门网

其代码为:

class Sphere { private double myRadius; private double myCenterX; private double myCenterY; // Constructors: public Sphere (double x, double y, double r) { myCenterX = x; myCenterY = y; myRadius = r; } // etc... // Accessors and modifiers: public double getRadius() { return myRadius; } public void setRadius(double r) { myRadius = r; } // etc... // Other public methods: public double volume() { return 4.0 / 3.0 * Math.PI * myRadius * myRadius * myRadius; } public double surfaceArea() { return 4.0 * Math.PI * myRadius * myRadius; } public String toString() { return "Sphere [Center = (" + myCenterX + ", " + myCenterY + ") Radius = " + myRadius + "]"; } }

Java面向对象编程实例详解(4)

时间:2011-01-16 zdnet 龚赤兵

TestSphere的类图为:

Java面向对象编程实例详解 - 编程入门网

其实现代码为:

import java.text.DecimalFormat; class TestSphere { public static void main(String[] args) { EasyReader console = new EasyReader(); System.out.print("Enter the radius: "); double radius = console.readDouble(); DecimalFormat f3 = new DecimalFormat("0.000"); Sphere balloon = new Sphere(0, 0, radius); System.out.println(); System.out.println(balloon); System.out.println("Volume = " + f3.format(balloon.volume())); System.out.println("Surface area = " + f3.format(balloon.surfaceArea())); System.out.println(); } }

该程序的各类之间的相互关系可以表示为:

Java面向对象编程实例详解 - 编程入门网

该程序的UML序列图可以表示如下。有关UML序列图的设计与应用,请查阅作者的另文(《利用UML序列图设计Java应用程序详解》)

Java面向对象编程实例详解 - 编程入门网

以下是程序的输出结果。

Java面向对象编程实例详解 - 编程入门网

Java面向对象

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号