设计一个抽象类Shape,包括面积属性(受保护的),求面积的抽象方法。设计一个接口Run,里面包含方法goRun(). 设计一个类Circle继承Shape,实现Run接口,包含半径属性,构造方法(给半径赋值)、求面积的方法、goRun方法(方法输出“我可以滚动!”)
时间: 2024-03-19 09:45:53 浏览: 64
C#抽象类与抽象方法
5星 · 资源好评率100%
好的,以下是代码实现:
```java
abstract class Shape {
protected double area; // 面积属性
public abstract void calculateArea(); // 抽象方法,用于计算面积
}
interface Run {
void goRun(); // 接口中的方法,用于运动
}
class Circle extends Shape implements Run {
private double radius; // 半径属性
public Circle(double radius) {
this.radius = radius;
}
@Override
public void calculateArea() {
area = Math.PI * radius * radius;
}
@Override
public void goRun() {
System.out.println("我可以滚动!");
}
}
```
在这个实现中,我们首先创建了一个抽象类Shape,其中包含了一个受保护的面积属性和一个抽象方法calculateArea(),用于计算面积。接着,我们创建了一个接口Run,其中包含了一个方法goRun(),用于运动。
最后,我们创建了一个类Circle,它继承了Shape并实现了Run接口。Circle类中包含了半径属性和构造方法,在构造方法中将半径赋值。我们还实现了calculateArea()方法来计算面积,并且实现了goRun()方法,输出“我可以滚动!”。
需要注意的是,我们在Shape中将面积属性设置为受保护的,这意味着它只能被Shape及其子类访问,而不能被其他类访问。这种设计可以保证面积属性的安全性和封装性。
阅读全文