老师请检查

来源:4-4 编程练习

piii

2020-07-03 13:02:02

//抽象类Shape,里面含抽象方法area( )
public abstract class Shape {

	public abstract double area();

}
	// 创建带参构造方法以及无参构造方法
	public Circle() {

	}

	public Circle(double r) {
		this.setR(r);
	}

	// 创建针对半径的赋值和取值方法
	public double getR() {
		return r;
	}

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

	// 重写父类中area()方法
	@Override
	public double area() {
		double d = this.getR() * this.getR() * 3.14;
		return d;
	}
}
public class Rectangle extends Shape {

	// 属性:矩形的长lenghth、宽wide
	private double lenghth;
	private double wide;

	// 创建带参构造方法以及无参构造方法
	public Rectangle() {

	}

	public Rectangle(double lengtht, double wide) {
		this.setLenghth(lenghth);
		this.setWide(wide);
	}

	// 创建针对长、宽的赋值和取值方法
	public double getLenghth() {
		return lenghth;
	}

	public void setLenghth(double lenghth) {
		this.lenghth = lenghth;
	}

	public double getWide() {
		return wide;
	}

	public void setWide(double wide) {
		this.wide = wide;
	}

	// 重写父类的area()方法
	@Override
	public double area() {
		double d = this.getLenghth() * this.getWide();
		return d;
	}
}
//测试类
public class Test {

	public static void main(String[] args) {

		// 创建类的实例,并分别对圆的半径和矩形的长宽进行赋值
		Shape one = new Rectangle(6.0, 5.0);
		Shape two = new Circle(3.5);

		// 调用area()方法,输出结果
		System.out.println("圆的面积为  " + two.area());
		System.out.println("矩形的面积为  " + one.area());
	}
}


写回答

2回答

好帮手慕小尤

2020-07-03

同学你好,在Rectangle类带参构造中lenghth属性赋值失败,建议同学根据参数进行赋值,修改后代码如下所示:

http://img.mukewang.com/climg/5efeda0609b2708804200092.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

0

piii

提问者

2020-07-03

//子类圆Circle类
public class Circle extends Shape {

	// 属性:圆的半径r
	private double r;

	// 创建带参构造方法以及无参构造方法
	public Circle() {

	}

	public Circle(double r) {
		this.setR(r);
	}

	// 创建针对半径的赋值和取值方法
	public double getR() {
		return r;
	}

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

	// 重写父类中area()方法
	@Override
	public double area() {
		double d = this.getR() * this.getR() * 3.14;
		return d;
	}
}

圆的代码没贴全

0

0 学习 · 11489 问题

查看课程