java面向对象图形继承关系报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

此符号表示组成~此颜色框表示新增加属性
接口简介
AresCountable
此接口用于可计算面积的图形,提供一个计算面积的方法.
接口定义
public interfaceAresCountable
接口方法
public doublegetAres();
VolumeCountable
此接口用于可计算体积的图形,提供一个计算体积的方法接口.
- 1 -
图形关系报告
关系简介
我们选取了Shape为根类,所有图形均以Shape类为父类,继承Shape类的两个方法:draw(),eraser().其他图形间以包含关系为主,复杂图形由一个或者若干个简单图形,再添加新的属性所组成.
同时,引入两个接口类AresCountable, VolumeCountable.分别提供面积计算和体积计算的方法接口.
publicdoublegetY()
@Override
public voiddraw()
@Override
public voideraser()
//对Shape类里两个抽象函数进行实现,并在以后的继承类里将被重写
Line
Line类,包含两个Point成员,作为起点和终点.
类定义
public classLineextendsShape
Rectangle类,矩形,包含一个Point类成员,作为左上角的定位点,新增成员长和宽.
引入AresCountable接口,获得计算面积的能力.
类定义
public classRectangleextendsShapeimplementsAresCountable
类成员
privatedoublelength,width;
Cuboid
Cuboid类,立方体,包含一个Rectangle类对象,作为地面,新增成员高.
引入VolumeCountable接口,获得计算面积的能力.
类定义
public classCuboidextendsShapeimplementsVolumeCountable
类成员
privateRectanglep;
privatedoubleh;
构造函数
publicCuboid(Rectangle p,doubleh)
方法
publicdoublegetHeight()
publicRectangle getRectangle()
@Override
public voiddraw()
@Override
public voideraser()
//调用此函数,返回该对象先端的长度
public static doublegetLength(Point a,Point b)
//调用这个类函数,将返回计算参数中两个点的距离
@Override
public voiddraw()
@Override
public voideraser()
Rectangle
成员
privatePointp1,p2;//分别为起点和重点.
构造函数
publicLine(doublex,doubley,doublex1,doubley1)
publicLine(Point p1,Point p2)
方法
publicPoint getP1()
publicPoint getP2()
public doublegetLength()
@Override
public doublegetVolume()//返回该对象的体积.
Circle
Circle类,圆形,包含一个Point类对象,作为圆心,新增成员半径.
引入接口AresCountable接口,获得计算面积的能力.
类定义
public classCircleextendsShapeimplementsAresCountable
类成员
privatePointp;
privatedoubler;
构造函数
publicCircle(doublex,doubley,doubler)
publicCircle(Point p,doubler)
publicCircle(Circle c)
方法
publicPoint getP()
publicdoublegetR()
接口定义
public interfaceVolumeCountable
接口方法
public doublegetVolume();
各个类的简介
Shape
Shape类使所有后面图形类的父类.定义为抽象类,其中包含两个抽象函数,等待后面继承类
具体实现.
类定义
public abstract classShape
方法
publicPoint getP()
publicdoublegetL()
publicdoublegetW()
@Override
puຫໍສະໝຸດ Baidulic voiddraw()
@Override
public voideraser()
@Override
public doublegetAres()//返回该对象的面积
publicclassPointextendsShape
//继承抽象类Shape
成员
privatedoublex,y;//点的横纵坐标
构造函数
publicPoint(doublex,doubley)//由坐标构造点
publicPoint(Point p)//由一个已知点构造点
方法
publicdoublegetX()
//定义为抽象类
构造函数

成员

方法
public abstract voiddraw();
public abstract voideraser();
//定义两个抽象函数,等待以后的继承类实现.
Point
Point类是这次图形集成结构的最基本的可实现类,以后的平面图形和立体图形均由Point类组成.
类定义
@Override
public voiddraw()
@Override
public voideraser()
@Override
public doublegetAres()//返回该对象的面积
privatePointp;
构造函数
publicRectangle(doublex,doubley,doublelength,doublewidth)
publicRectangle(Point p,doublelength,doublewidth)
publicRectangle(Rectangle q)
相关文档
最新文档