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 水果接口-工厂设计模式的全部内容了,希望能对你有所帮助!

相关推荐
geovindu1 分钟前
rust: Factory Method Pattern
开发语言·设计模式·rust·工厂方法模式·创建型模式
eybk1 分钟前
用Kivy制作手机相片分类局域网传送工具,还能传输数据库文件
开发语言·python
Java内核笔记4 分钟前
Spring Boot 4 与 Spring AI 2.0 深度集成:ChatClient、Advisor 链与 MCP(源码级实战)
java·后端
可爱的小小小狼5 分钟前
【无标题】
java·算法
用户3126874877205 分钟前
Java SPI 到底怎么实现动态扩展的?从 ServiceLoader 到 Dubbo SPI 全链路拆解
java
新时代农民工~6 分钟前
【双机高可用部署方案-前后端部署】
java·nginx·springboot
企业数字化笔记6 分钟前
固定资产还有借用记录能报废吗?Java前置检查、停止折旧与SQL验收
java·开发语言·sql
飞虹地星海7 分钟前
从零到一跑通苍穹外卖:一个大二学生的暑假项目复盘
java
她的男孩10 分钟前
账号锁定配了"错 4 次锁 30 分钟",我连错 100 次一次没锁上:扒完 4091 行认证源码,找到 5 个坑
java·后端·架构
程序猿乐锅19 分钟前
【黑马点评 | 第二篇】Redis 缓存更新策略与商铺缓存实现
java·网络·redis·spring·mybatis