java面向对象图形继承关系报告.doc
文本预览下载声明
- 1 -
图形关系报告
关系简介
我们选取了Shape 为根类,所有图形均以Shape类为父类,继承Shape类的两个方法:draw(),eraser().其他图形间以包含关系为主,复杂图形由一个或者若干个简单图形,再添加新的属性所组成.
同时,引入两个接口类AresCountable, VolumeCountable.分别提供面积计算和体积计算的方法接口.
关系图
此符号表示组成~ 此颜色框表示新增加属性
接口简介
AresCountable
此接口用于可计算面积的图形,提供一个计算面积的方法.
接口定义
public interface AresCountable
接口方法
public double getAres();
VolumeCountable
此接口用于可计算体积的图形,提供一个计算体积的方法接口.
接口定义
public interface VolumeCountable
接口方法
public double getVolume();
各个类的简介
Shape
Shape 类使所有后面图形类的父类.定义为抽象类,其中包含两个抽象函数,等待后面继承类
具体实现.
类定义
public abstract class Shape
// 定义为抽象类
构造函数
无
成员
无
方法
public abstract void draw();
public abstract void eraser();
// 定义两个抽象函数,等待以后的继承类实现.
Point
Point 类是这次图形集成结构的最基本的可实现类,以后的平面图形和立体图形均由Point类组成.
类定义
public class Point extends Shape
// 继承抽象类Shape
成员
private double x,y; // 点的横纵坐标
构造函数
public Point(double x, double y) //由坐标构造点
public Point(Point p) //由一个已知点构造点
方法
public double getX()
public double getY()
@Override
public void draw()
@Override
public void eraser()
// 对Shape 类里两个抽象函数进行实现,并在以后的继承类里将被重写
Line
Line 类,包含两个Point 成员,作为起点和终点.
类定义
public class Line extends Shape
成员
private Point p1,p2;// 分别为起点和重点.
构造函数
public Line(double x, double y, double x1,double y1)
public Line(Point p1,Point p2)
方法
public Point getP1()
public Point getP2()
public double getLength()
// 调用此函数,返回该对象先端的长度
public static double getLength(Point a,Point b)
// 调用这个类函数,将返回计算参数中两个点的距离
@Override
public void draw()
@Override
public void eraser()
Rectangle
Rectangle 类,矩形,包含一个Point 类成员,作为左上角的定位点,新增成员长和宽.
引入AresCountable 接口,获得计算面积的能力.
类定义
public class Rectangle extends Shape implements AresCountable
类成员
private double length,width;
private Point p;
构造函数
public Rectangle(double x,double y,double length,double width)
public Rectangle(Point p,double length,double width)
public Rectangle(Rectangle q)
方法
public Point getP()
public double getL()
public double getW()
@Override
public void draw()
@Override
public v
显示全部