用idea通过方法重载来写通过主菜单,选择需要打印的图形,1-矩形,2-平行四边行,3-直角三角形,4-等腰三形,0-退出
时间: 2024-11-22 08:42:47 浏览: 8
ideaIU-2020.1.3
在 IntelliJ IDEA 中创建一个多态的主菜单,你可以设计一个基类或者接口来定义打印图形的行为,然后让每个具体的图形类去实现这个接口。以下是大致步骤:
1. **定义基类或接口**:
创建一个名为 `Shape` 的接口或抽象类,包含一个抽象的 `print()` 方法,表示打印图形的动作。
```java
public interface Shape {
void print();
}
```
2. **创建图形类**:
对于每种图形(如 `Rectangle`, `Parallelogram`, `RightTriangle`, 和 `IsoscelesTriangle`),分别创建一个类并实现 `Shape` 接口。
```java
public class Rectangle implements Shape {
// 实现 print() 方法
}
public class Parallelogram implements Shape {
// 实现 print() 方法
}
// 类似地为其他形状创建相应类
```
3. **主菜单类**:
创建一个 `Menu` 类,用于处理用户输入的选择,并调用对应图形的 `print()` 方法。
```java
public class MainMenu {
private List<Shape> shapes = Arrays.asList(new Rectangle(), new Parallelogram(), new RightTriangle(), new IsoscelesTriangle());
public void startMenu() {
while (true) {
System.out.println("1. 矩形");
System.out.println("2. 平行四边形");
System.out.println("3. 直角三角形");
System.out.println("4. 等腰三角形");
System.out.println("0. 退出");
int choice = getUserInput(); // 获取用户输入
if (choice == 0) {
break;
}
Shape shapeToPrint = shapes.get(choice - 1); // 根据选择获取对应的形状实例
shapeToPrint.print();
}
}
private int getUserInput() { /* 用户输入处理方法 */ }
}
```
在 `startMenu` 函数里,你可以根据用户的输入动态调用每个图形类的 `print()` 方法,这就是多态的体现。
阅读全文