java 利用继承和多态设计三角形,圆矩形

//郑州轻工业大学
//题号:实验三 第二题
//题目:利用继承和多态设计图形类。要求如下:
(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("圆形大");
    }
}

写了五个类,还花好多时间写博客,点个赞不过分吧!

总地址:郑州轻工业大学实验整合

  • 22
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木心Fx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值