PTA-6-44 水果接口-工厂设计模式

用工厂设计模式编写程序代码。已知有如下Fruit接口,请编写其子类Apple类与Orange类,另外再编写一个Factory工厂类,具体要求如下。

需要编写Fruit接口的子类:

两个子类Apple和Orange,实现接口Fruit,并覆写eat()方法。

需要编写工厂类Factory:

设计一个工厂类Factory,包含一个getInstance(String name)方法,此方法返回值为接口Fruit的子类实例对象。

已有的水果接口定义如下:

java 复制代码
import java.util.Scanner;
interface Fruit{
    void eat();
}

已有的Main类定义:

java 复制代码
/* 请在这里填写答案 */

public class Main{
    public static void main(String[] args) {
    String s;
    Scanner scan=new Scanner(System.in);    
    s=scan.next();
    Fruit f=Factory.getInstance(s);
    if(f==null)
        System.out.println("没有此水果类型");
    else    
        f.eat();
    }
}

根据题目要求,代码实现如下:

java 复制代码
class Apple implements Fruit {
	@Override
	public void eat() {
		System.out.println("吃苹果啦啦啦!!");
	}
}

class Orange implements Fruit {
	@Override
	public void eat() {
		System.out.println("吃橘子啦啦啦!!");
	}
}

class Factory {
	public static Fruit getInstance(String s) {
		if(s.equalsIgnoreCase("apple"))
			return new Apple();
		else if(s.equalsIgnoreCase("orange"))
			return new Orange();
		else
			return null;
	}
}


以上就是 PTA-6-44 水果接口-工厂设计模式的全部内容了,希望能对你有所帮助!

相关推荐
神仙别闹几秒前
基于Java+MySQL实现(GUI)医院管理系统
java·mysql·oracle
njsgcs10 分钟前
制作solidworks插件 装配体导出展开耗时分析
开发语言·c#·solidworks
C137的本贾尼11 分钟前
别怕异步:`async` 和 `await` 的简单理解
开发语言·python
njsgcs20 分钟前
c# solidworks 标注攻牙
开发语言·c#·solidworks
吴声子夜歌31 分钟前
Java——显示条件
java·开发语言
有味道的男人32 分钟前
1688 商品价格 API:阶梯价、代发价、批发价实时查询
开发语言·windows·python
AC赳赳老秦37 分钟前
OpenClaw与WPS宏联动:批量执行WPS复杂操作,解决办公表格批量处理难题
java·前端·数据库·自动化·需求分析·deepseek·openclaw
范范@39 分钟前
python基础-for循环和列表
开发语言·python
小白学大数据1 小时前
Python 爬虫动态 JS 渲染与无头浏览器实战选型指南
开发语言·javascript·爬虫·python
朔北之忘 Clancy1 小时前
2026 年 3 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·青少年编程·题解·一级