//郑州轻工业大学
//题号:实验三 第二题
//题目:利用继承和多态设计图形类。要求如下:
(1)三角形属性为三个顶点坐标,矩形属性为其左上角和右下角两点坐标,圆为圆心和圆上任一点的坐标。
(2)三角形、矩形、圆都有颜色、线型粗细属性,都有求面积方法,比较大小方法(比较面积的大小)。
(3)设计合理的类层次完成上述功能框架,然后以多态的形式输出三角形的颜色、矩形的面积,以及矩形和圆的大小。
————————————————
总共需设计5个类
其中tuxing为基本类,text为测试类,其他三个继承图形类
图形类代码
public class tuxing {
private String colour;
private String line;
private double mianji1;
public tuxing( String colour, String line, double mianji1) {
this.colour = colour;
this.line = line;
this.mianji1 = mianji1;
}
public tuxing(String colour) {
this.colour=colour;
}
public tuxing(double mianji1) {
}
public String getColour() {
return colour;
}
public void setColour(String colour) {
this.colour = colour;
}
public String getLine() {
return line;
}
public void setLine(String line) {
this.line = line;
}
public double getMianji1() {
return mianji1;
}
public void setMianji1(double mianji1) {
this.mianji1 = mianji1;
}
public tuxing() {
}
public double mianji(){
return 0.0;
};
public void bijiao(){};
}
上面几乎所有方法都是用的中文拼音,应该能看懂吧?
看懂评论区回复:看懂了
然后分别是
矩形
public class juxing extends tuxing{
int x1;
int y1;
int x2;
int y2;
public juxing(int x1, int y1, int x2, int y2) {
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
}
public int getX1() {
return x1;
}
public void setX1(int x1) {
this.x1 = x1;
}
public int getY1() {
return y1;
}
public void setY1(int y1) {
this.y1 = y1;
}
public int getX2() {
return x2;
}
public void setX2(int x2) {
this.x2 = x2;
}
public int getY2() {
return y2;
}
public void setY2(int y2) {
this.y2 = y2;
}
public double mianji(){
return Math.abs(Math.abs(x1-x2)*Math.abs(y1-y2));
}
}
圆形
public class yuan extends tuxing{
int x1;
int y1;
int x2;
int y2;
public yuan(int x1, int y1, int x2, int y2) {
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
}
public double mianji()
{int a,b;
a=(x1-x2)*(x1-x2);
b=(y1-y2)*(y1-y2);
return Math.sqrt(a+b)*Math.sqrt(a+b)*3.14;
}
}
三角形
public class sanjiaoxing extends tuxing {
public sanjiaoxing(String colour) {
super(colour);
}
}
测试类
public class Test {
public static void main(String[] args) {
sanjiaoxing a1=new sanjiaoxing("蓝色");
juxing a2=new juxing(1,1,2,2);
yuan a3=new yuan(1,1,2,2);
System.out.println("三角形颜色:"+a1.getColour());
System.out.println("矩形面积:"+a2.mianji());
System.out.println("圆形面积:"+a3.mianji());
if (a2.mianji()>a3.mianji())
System.out.println("矩形大");
else
System.out.println("圆形大");
}
}
写了五个类,还花好多时间写博客,点个赞不过分吧!
总地址:郑州轻工业大学实验整合