技术开发 频道

利用UML序列图设计Java应用程序详解

    /*

    * Flooring.java

    *

    
*/

    
class Flooring {

    
private static final double limit = 0.02; // limit for one more width

    
private String name; // for identification purposes

    
private double price; // price per meter

    
private double widthOfFlooring; // meter

    
public Flooring(String initName, double initPrice, double initWidth) {

    name
= initName;

    price
= initPrice;

    widthOfFlooring
= initWidth;

    }

    
public String getName() {

    
return name;

    }

    
public double getPricePerM() {

    
return price;

    }

    
public double getWidth() {

    
return widthOfFlooring;

    }

    
/*

    * We are going to calculate the amount which is needed to cover one surface.

    * The flooring is always placed crosswise relative to the length of the surface.

    * If you want to find the amount the other way, you have to change

    * width and length in the surface argument.

    
*/

    
public double getNoOfMeters(Surface aSurface) {

    
double lengthSurface = aSurface.getLength();

    
double widthSurface = aSurface.getWidth();

    
int noOfWidths = (int)(lengthSurface / widthOfFlooring);

    
double rest = lengthSurface % widthOfFlooring;

    
if (rest >= limit) noOfWidths++;

    
return noOfWidths * widthSurface;

    }

    
public double getTotalPrice(Surface aSurface) {

    
return getNoOfMeters(aSurface) * price;

    }

    }

    以上三个类之间的类图关系可以表示为如下图:

0
相关文章