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

相关推荐
vhgcc1 分钟前
在 Java 中使用 Apache Tika 读取 doc、docx等格式文件内容
java·开发语言·自然语言处理·apache·ai编程
xiaolin033315 分钟前
【JVM】- 类加载与字节码结构2
java·jvm
Rachel_wang19 分钟前
Java + Mybatis Plus 实现自动填充字段
java·后端
神码小Z19 分钟前
一次生产故障引发的JVM垃圾回收器选型思考:彻底掌握垃圾回收原理及通用配置!
java·ai编程
xiaolin033320 分钟前
【JVM】- 类加载与字节码结构3
java·jvm
天天摸鱼的java工程师20 分钟前
面试官:请阐述 Java 中对象的创建、使用和垃圾回收过程,以及不同垃圾回收器(如 CMS、G1)在这个过程中的优化策略
java·后端
一只叫煤球的猫1 小时前
@Async的六大常见坑,今天给你盘明白
java·spring boot·后端
亚马逊云开发者1 小时前
智能化 Graviton 迁移:Amazon Q CLI 加速应用架构现代化
java·人工智能
风象南1 小时前
Spring Boot 的 3 种二级缓存落地方式
java·spring boot·后端
皮皮林55114 小时前
使用 Java + WebSocket 实现简单实时双人协同 pk 答题
java·websocket