对象的组合: 创造圆对象:属性半径、面积;操作:构造函数,计算面积,设置半径 创造圆锥对象:属性圆、高度、体积;操作:构造函数,计算体积,设置底面圆,设置高度 编写主函数,实例化圆对象和圆锥对象,并计算圆锥体积。java
时间: 2024-09-18 09:15:43 浏览: 57
在Java中,我们可以使用组合(Composition)的设计模式来创建圆对象和圆锥对象。这是一种将一个对象包含在另一个对象内部的结构,而不是继承自它。以下是简单的实现步骤:
首先,我们创建一个基础`Shape`类作为组合的基础:
```java
public class Shape {
protected double radius; // 圆的基本属性
public Shape(double radius) {
this.radius = radius;
}
// 计算基本形状的面积(例如对于圆形就是π * r²)
public abstract double calculateArea();
}
```
接着,分别创建`Circle`和`Cone`类,它们都继承自`Shape`并添加各自的属性:
```java
public class Circle extends Shape {
public Circle(double radius) {
super(radius);
}
@Override
public double calculateArea() {
return Math.PI * radius * radius;
}
}
public class Cone extends Shape {
private Circle baseCircle;
private double height;
public Cone(Circle baseCircle, double height) {
this.baseCircle = baseCircle;
this.height = height;
}
@Override
public double calculateArea() {
// 圆锥体积公式: π * r² * h / 3
return (Math.PI * baseCircle.calculateArea()) * height / 3;
}
// 设置属性方法
public void setBaseCircle(Circle baseCircle) { this.baseCircle = baseCircle; }
public void setHeight(double height) { this.height = height; }
}
```
最后,在主函数中实例化这两个类并计算圆锥的体积:
```java
public static void main(String[] args) {
Circle circle = new Circle(5.0); // 创建一个圆对象
Cone cone = new Cone(circle, 10.0); // 创建一个圆锥对象,圆底是之前创建的圆
// 计算圆锥体积
double volume = cone.calculateArea();
System.out.println("圆的面积: " + circle.calculateArea());
System.out.println("圆锥的体积: " + volume);
}
```
这个例子展示了如何通过组合的方式创建两个有各自特性的对象,同时保持了代码的灵活性和复用性。
阅读全文