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

相关推荐
胡萝卜的兔14 分钟前
go 日志的分装和使用 Zap + lumberjack
开发语言·后端·golang
浪扼飞舟18 分钟前
c#基础(一)
开发语言·c#
en-route40 分钟前
如何在 Spring Boot 中指定不同的配置文件?
java·spring boot·后端
百锦再1 小时前
在 CentOS 系统上实现定时执行 Python 邮件发送任务
java·linux·开发语言·人工智能·python·centos·pygame
echoyu.1 小时前
消息队列-kafka完结
java·分布式·kafka
七夜zippoe1 小时前
分布式事务性能优化:从故障现场到方案落地的实战手记(二)
java·分布式·性能优化
栀椩1 小时前
springboot配置请求日志
java·spring boot·后端
番薯大佬1 小时前
Python学习-day8 元组tuple
java·python·学习
何似在人间5751 小时前
Go语言快速入门教程(JAVA转go)——1 概述
java·开发语言·golang
边疆.2 小时前
【C++】继承详解
开发语言·c++·继承