问答题

编程题:
(1)定义一个图形(Graphices)接口,包含求面积的抽象方法area()。
(2)定义一个平面图形(PlaneGraphics)抽象类,包含:显示形状的字符串属性shape、一个有参构造方法PlaneGraphics(String shape)()用于给属性shape初始化赋值、一个无参构造方法PlaneGraphics()调用有参构造方法给shape属性赋值“未知图形”、一个用于输出图形面积值的抽象方法print()。
(3)定义一个长方形类(Rectangle),继承平面图形(PlaneGraphics)抽象类并实现图形(Graphices)接口,该长方形类有自己的属性长度(length)和宽度(width),有一个有两个参数的构造方法,它调用父类的构造方法传递值“长方形”,并给自己的长度和宽度初始化赋值;有一个有一个参数的构造方法,它调用父类的构造方法传递值“正方形”,并给自己的长度和宽度初始化为同一个值;还有一个无参的构造方法。该长方形类根据属性长度和宽度计算面积值以实现接口中的抽象方法area(),并实现抽象类中抽象方法print()输出该形状的面积值。
(4)定义一个椭圆形类(Eclipse),继承平面图形(PlaneGraphics)抽象类并实现图形(Graphices)接口,该椭圆形类有自己的属性长轴半径(radius_a)和短轴半径(radius_b),有一个有两个参数的构造方法,它调用父类的构造方法传递值“椭圆形”,并给自己的长轴半径和短轴半径初始化赋值;有一个有一个参数的构造方法,它调用父类的构造方法传递值“圆形”,并给自己的长轴半径和短轴半径初始化为同一个值;还有一个无参的构造方法。该椭圆形类根据属性长轴半径和短轴半径计算面积值以实现接口中的抽象方法area(),并实现抽象类中抽象方法print()输出该形状的面积值。
(5)定义一个三角形类(Triangle),继承平面图形(PlaneGraphics)抽象类并实现图形(Graphices)接口,该三角形类有自己的属性底边(bottom)和高度(height),有一个有两个参数的构造方法,它调用父类的构造方法传递值“三角形”,并给自己的底边和高度初始化赋值;有一个有一个参数的构造方法,它调用父类的构造方法传递值“等腰直角三角形”,并给自己的底边和高度初始化为同一个值;还有一个无参的构造方法。该三角形类根据属性底边和高度计算面积值以实现接口中的抽象方法area(),并实现抽象类中抽象方法print()输出该形状的面积值。
(6)定义一个主类Demo,首先要求输入长方形的长和宽,如果不同,则调用长方形类的带两个参数的构造方法,创建长方形对象,如果相同,则调用长方形类的带一个参数的构造方法,创建正方形对象,两种情况下都调用print()方法输出对应面积值;其次要求输入椭圆形的长轴半径和短轴半径,如果不同,则调用椭圆形类的带两个参数的构造方法,创建椭圆形对象,如果相同,则调用椭圆形类的带一个参数的构造方法,创建圆形对象,两种情况下都调用print()方法输出对应面积值;最后,要求输入三角形的底边和高度,如果不同,则调用三角形类的带两个参数的构造方法,创建三角形对象,如果相同,则调用三角形类的带一个参数的构造方法,创建等腰直角三角形对象,两种情况下都调用print()方法输出对应面积值。

答案:
微信扫码免费搜题