构建图形类的周长与面积计算方式

 //代表图形类
    class Shape{
        //私有化属性
        private double x;//代表宽
        private double y;//代表长
        //用过构造方法进行属性初始化(间接给私有属性赋值)
        public Shape(double x,double y){
            this.x=x;
            this.y=y;
        }
        //提供getter and setter 方法
        public double getX() {
            return x;
        }
        public double getY() {
            return y;
        }
        //求周长和面积的方法
        public double  getGirth(){//求周长
            return 0.0;//图形类代表的是任意的图形不能用具体的计算公式来计算

        }
        public double getArea(){
            return 0.0;//求面积
        }}
        //代表矩形类
        class Rectangle extends Shape{
            //子类有参构造 调用父类有参构造给父类的私有化属性进行赋值
            public Rectangle(double x, double y) {
                super(x, y);//调用父类的有参构造

            }
            //重写求周长和面积的方法
            public double getGirth(){
                return 2*(getX()+getY());
            }
            public double getArea(){
                return (getX()*getY());
            }

        }
        //代表正方形类
        class Square extends Rectangle{

            public Square(double x) {
                super(x, x);
            }

        }
        //代表圆形类、
        class Circle extends Shape{

            public Circle(double r) {
                super(r, r);//长和宽都是半径的值
            }
            public double getGirth(){
                return 2*3.14*getY();
            }
            public double getArea(){
                return (3.14*getX()*getY());
            }
        }

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值