Java 实例:简单工厂模式实现果园苹果、草莓、桃子生产
以下是使用 Java 实现简单工厂模式来生产苹果、草莓和桃子这三种水果的示例代码: ```java // 水果类,这是一个抽象类 abstract class Fruit { public abstract void showName(); } // 苹果类,继承自水果类 class Apple extends Fruit { @Override public void showName() { System.out.println("这是苹果"); } } // 草莓类,继承自水果类 class Strawberry extends Fruit { @Override public void showName() { System.out.println("这是草莓"); } } // 桃子类,继承自水果类 class Peach extends Fruit { @Override public void showName() { System.out.println("这是桃子"); } } // 水果工厂类,用于创建不同的水果对象 class FruitFactory { public Fruit createFruit(String type) { if (type.equalsIgnoreCase("apple")) { return new Apple(); } else if (type.equalsIgnoreCase("strawberry")) { return new Strawberry(); } else if (type.equalsIgnoreCase("peach")) { return new Peach(); } else { System.out.println("无效的水果类型"); return null; } } } public class SimpleFactoryExample { public static void main(String[] args) { FruitFactory factory = new FruitFactory(); // 购买苹果 Fruit apple = factory.createFruit("apple"); apple.showName(); // 购买草莓 Fruit strawberry = factory.createFruit("strawberry"); strawberry.showName(); // 购买桃子 Fruit peach = factory.createFruit("peach"); peach.showName(); // 购买不存在的水果 Fruit unknown = factory.createFruit("banana"); } } ``` 在上述代码中,首先定义了一个抽象的`Fruit`类,然后分别创建了`Apple`、`Strawberry`和`Peach`三个具体的水果类继承自`Fruit`类。`FruitFactory`类作为简单工厂,根据传入的水果类型创建相应的水果对象。在`main`方法中,通过调用工厂类的方法来获取不同的水果对象并展示其名称。 ######[AI写代码神器 | 524点数解答 | 2024-10-17 16:20:22]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)405
- Python编程:解析小明和小李喜欢水果集合的运算奥秘( | 769点数解答 | 2024-04-23 17:32:15)307
- Java 实例:简单工厂模式实现果园苹果、草莓、桃子生产(字节豆包 | 524点数解答 | 2024-10-17 16:20:22)282
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)305
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1134
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- Python 代码:合并食品与家居清单,巧妙去除重复物品!(字节豆包 | 89点数解答 | 2025-03-13 09:12:59)200
- C++模拟抽牌决定值日程序(百度文心 | 618点数解答 | 2026-03-13 20:28:38)14
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)310
- "Java Code: Uncovering Stock Statistics through CSV File Reading"(字节豆包 | 66点数解答 | 2024-11-13 15:31:04)317
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)22
- Java 继承实现:重温经典剪刀石头布游戏(字节豆包 | 451点数解答 | 2024-10-20 19:57:58)463