java需求分析实例 多态
时间: 2023-06-21 12:06:15 浏览: 47
多态是面向对象编程中的一种重要概念,它允许不同的对象对同一消息作出不同的响应。在Java中,多态由两种实现方式:继承和接口。
我们来看一个需求分析的实例,假设有一个图形类,它有一个计算面积的方法,而具体的图形类如圆形、矩形、三角形等都是该图形类的子类。我们需要实现一个计算图形面积的程序。
首先,我们需要定义一个图形类,并在该类中声明一个计算面积的方法:
```java
public class Shape {
public double getArea() {
return 0;
}
}
```
接着,我们定义圆形、矩形、三角形等图形类,并分别重写父类的计算面积方法:
```java
public class Circle extends Shape {
private double radius;
public Circle(double r) {
radius = r;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
}
public class Rectangle extends Shape {
private double length;
private double width;
public Rectangle(double l, double w) {
length = l;
width = w;
}
@Override
public double getArea() {
return length * width;
}
}
public class Triangle extends Shape {
private double base;
private double height;
public Triangle(double b, double h) {
base = b;
height = h;
}
@Override
public double getArea() {
return 0.5 * base * height;
}
}
```
现在,我们可以在主程序中创建各种图形对象,并调用它们的计算面积方法:
```java
public static void main(String[] args) {
Shape circle = new Circle(5);
Shape rectangle = new Rectangle(3, 4);
Shape triangle = new Triangle(6, 8);
System.out.println("Circle area: " + circle.getArea());
System.out.println("Rectangle area: " + rectangle.getArea());
System.out.println("Triangle area: " + triangle.getArea());
}
```
这里我们创建了一个圆形对象、一个矩形对象和一个三角形对象,并分别调用它们的getArea()方法计算面积。由于这三个对象都是Shape类的子类,因此在调用getArea()方法时会根据具体的对象类型执行相应的方法,这就是多态的体现。
总结一下,多态是Java面向对象编程中的一个重要概念,它允许不同的对象对同一消息作出不同的响应。在实现多态时,可以采用继承和接口两种方式。以上例子展示了继承方式实现多态的示例,我们定义了一个图形类和各种具体的图形类,并重写了父类的计算面积方法,然后在主程序中创建各种图形对象,并分别调用它们的计算面积方法。