Java编程题---图形类(两个私有化属性(长和宽),通过有参构造赋值,提供求周长和面积的方法)、矩形类(通过有参构造赋值,提供求周长和面积的方法)、正方形类(通过有参构造赋值,提供求周长和面积

题目:

图形类(两个私有化属性(长和宽),通过有参构造赋值,提供求周长和面积的方法)、矩形类(通过有参构造赋值,提供求周长和面积的方法)、正方形类(通过有参构造赋值,提供求周长和面积的方法)、圆形类(通过有参构造赋值,提供求周长和面积的方法)

Java代码:

package cn.tedu.Extends;

public class ZCDemo {
    public static void main(String[] args) {
    //向上造型
        Shape s1=new Rectangle(2,3);
        System.out.println(s1.getArea());
        System.out.println(s1.getgirth());
    }
}

//代表图形的类
class Shape{
    //私有化属性---长和宽
    private double a;
    private double b;//b代表宽

    //通过有参构造给私有化属性进行赋值
    public Shape(double a,double b){
        this.a=a;
        this.b=b;
    }

    //提供get方法,间接获取私有化属性值  //快捷键Alt+Insert

    public double getA() {
        return a;
    }

    public double getB() {
        return b;
    }

    //提供求周长和面积的方法
    public double getgirth(){//求周长
        return 0.0;//因为没有确切图形,所以不能使用具体的计算公式(随便一个double接收的值都可以)
    }
    public double getArea(){//求面积
        return 0.0;//因为没有确切图形,所以不能使用具体的计算公式
    }
}

//定义代表矩形的类
class Rectangle extends Shape{
    //调用父类有参构造给父类私有化属性间接赋值
    public Rectangle(double a, double b) {
        super(a, b);
    }

    //重写求周长和面积的方法
    public double getgirth(){//求矩形周长
        return 2*(getA()+getB());
    }
    public double getArea(){//求矩形面积
        return getA()*getB();
    }
}


//定义代表正方形的类
class Square extends Rectangle{
    //调用父类有参构造给父类私有化属性间接赋值
    public Square(double a) {
        super(a, a);
    }
}


//定义代表圆形的类
class Circle extends Shape{
    //调用父类有参构造给父类私有化属性间接赋值
    public Circle(double r) {
        super(r,r);
    }

    //重写求圆形周长和面积的方法
    public double getgirth(){//求圆的周长
        return 2*3.14*getA();
    }
    public double getArea(){//求圆的面积
        return 3.14*getA()*getA();
    }
}

执行结果:
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

张艳霞zhangyx

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

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

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

打赏作者

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

抵扣说明:

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

余额充值