继承怎么写好难,在线求解

创建一个圆形类 (Circle) ,含有私有变量r,表示半径,

1)定义构造方法,初始化私有变量;

2)为私有变定义公有的get和set方法;

定义求圆形面积的公有方法getArea0;

创建一个椭圆形类,继承自Circle,含私有变 量a,b,表示长半轴的长和短半轴的长

定义构造方法,初始化私有变量;

  1. 为私有变量定义公有的get和set方法;

重写getArea0方法,求椭圆的面积

三、创建一个测试类Test,编写main方法进行测试:

1)创建一个圆形对象,半径2,求面积:

2)创建一个椭圆对象,长轴4,短轴2,求面积

如有帮助,希望点赞、采纳!!

你觉难,是因为你没有理清楚它们之间的关系,建议画图理清楚它们的关系,如果还是不懂,再来提问,我们可以直接给你提供代码,但是这样你们不好!!

运行结果:

img

代码如下:

package com.example.demo;

/**
 * 圆形类
 */
public class Circle {

    private Double r;

    // 无参数构造方法
    public Circle() {
        this.r = r;
    }

    // 构造方法
    public Circle(Double r) {
        this.r = r;
    }


    /**
     * 圆形类面积
     * @return
     */
    public Double getArea(){
        return Math.PI * r * r;
    }

    public Double getR() {
        return r;
    }

    public void setR(Double r) {
        this.r = r;
    }
}

/**
 * 椭圆形
 */
class Oval extends Circle{

    private Double a;
    private Double b;

    // 构造方法
    public Oval(Double a, Double b) {
        super();
        this.a = a;
        this.b = b;
    }


    /**
     * 重写getArea方法
     * @return
     */
    @Override
    public Double getArea(){
        return Math.PI * a * b;
    }

    public Double getA() {
        return a;
    }

    public Double getB() {
        return b;
    }

    public void setA(Double a) {
        this.a = a;
    }

    public void setB(Double b) {
        this.b = b;
    }
}
public class Test {
    public static void main(String[] args) {
        Circle circle = new Circle(2.0);
        System.out.println("圆形的面积为:" + circle.getArea());
        System.out.println();
        Oval oval = new Oval(4.0,2.0);
        System.out.println("圆形的面积为:" + oval.getArea());
    }
}