有一个已知的二维坐标系,在坐标系中定义了若example干种规则的图形:圆、正方形、矩形和椭圆。使用Java进行面向对象的程序设计
时间: 2024-09-25 13:11:10 浏览: 19
在Java中进行面向对象的程序设计,你可以创建一系列的图形类,每个类代表一种特定形状,如Circle (圆形)、Square (正方形)、Rectangle (矩形) 和 Ellipse (椭圆),并继承自一个公共的Shape (形状) 类或者接口Shape。这样可以体现多态,因为每个具体的形状都可以按照Shape接口的行为进行操作。
例如:
```java
abstract class Shape {
abstract double getArea();
}
class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
double getArea() {
return Math.PI * Math.pow(radius, 2);
}
}
class Square extends Shape {
private double side;
public Square(double side) {
this.side = side;
}
@Override
double getArea() {
return side * side;
}
}
class Rectangle extends Shape {
private double width, height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
double getArea() {
return width * height;
}
}
class Ellipse extends Shape {
private double majorAxis, minorAxis;
public Ellipse(double majorAxis, double minorAxis) {
this.majorAxis = majorAxis;
this.minorAxis = minorAxis;
}
@Override
double getArea() {
return Math.PI * majorAxis * minorAxis;
}
}
```
在这个设计中,你可以创建一个Shape类型的数组或列表,然后根据实际对象的类型调用getArea()方法,这就是多态的应用。