我需要向用户询问他想绘制的图中有多少边,然后调用正确的构造函数来实例化该对象.
下面是我尝试使用IF语句来解决答案(或者我可以使用一个开关),但是我不知道这是否是最好的方法,可能是Java继承和多态.
所有的类都扩展了类图.
类别图:
--------------- Figure ---------------
^ ^ ^ ^
| | | |
| | | |
Circle Triangle Rectangle Exagone
主要类别:
import java.util.Scanner;
class Draw {
static void main(String[] args){
Scanner userInput = new Scanner(System.in);
int num_sides;
//user input
System.out.println("How many sides has the figure you want to draw?");
num_sides = userInput.nextInt();
//---> deciding what constructor to call with if statements
if(num_sides == 0){
Figure f1 = new Circle();
}
else if(num_sides == 3){
Figure f1 = new Triangle();
}
//...
else{
System.out.println("Error. Invalid sides number");
}
}
}
类别编号:
class Figure{
private int sides;
public Figure(int num_sides){
sides = num_sides;
}
}
class Circle extends Figure{
public Circle(){
super(0);
}
}
//... all the other classes has the same structure of Circle