求一个JAVA小程序,使用两种以上JAVA模式
作业要求写一个JAVA设计小程序,自由使用至少两种JAVA模式,策略、工厂、观察者什么的等等……求好心人给个完整代码,最好注释一下,以及程序的使用说明~~~~~~邮箱26...
作业要求写一个JAVA设计小程序,自由使用至少两种JAVA模式,策略、工厂、观察者什么的等等……
求好心人给个完整代码,最好注释一下,以及程序的使用说明~~~~~~
邮箱2652236004@qq.com~~~~ 展开
求好心人给个完整代码,最好注释一下,以及程序的使用说明~~~~~~
邮箱2652236004@qq.com~~~~ 展开
展开全部
//##食堂:DinningHall.java
public class DinningHall{
private DinningHall instance = null;
private DinningHall{
}
public static DinningHall getInstance(){
//单例模式:创建食堂对象
if(instance == null){
instance = new DinningHall();
}
return instance;
}
public Food createFood(String order){
//工厂模式:创建一些吃的
if("1号菜".equals(order)){
//比如菜单上1号菜是鱼香肉丝
return new YuXiangRouSi();
}
else if("2号菜".equals(order)){
//比如菜单上2号菜是宫保鸡丁
return new GongBaoJiDing();
}
else{
return null;
}
}
//建造者模式start:集中管理,生产一些吃的东西
private List<Food> list = new ArrayList<Food>();
public List<Food> getFoods(){
return list;
}
public void produceSomeMantou(int count){
for(int i=0; i<count; i++){
list.add(new ManTou());
}
}
//建造者模式end
}
//##食物:Food.java
public interface Food(){
public String getName();
}
//##鱼香肉丝:YuXiangRouSi.java
public class YuXiangRouSi implements Food(){
public String getName(){
return "鱼香肉丝";
}
}
//##宫保鸡丁:GongBaoJiDing.java
public class GongBaoJiDing implements Food(){
public String getName(){
return "宫保鸡丁";
}
}
//##馒头:Mantou.java
public class Mantou implements Food(){
public String getName(){
return "馒头";
}
}
//##测试类Tester.java
public class Tester{
public static void main(){
//1.单例模式
DinningHall dh = DinningHall.getInstance();
//2.工厂模式
Food f1 = DinningHall.createFood("1号菜");
System.out.println(f1.getName());
//3.建造者模式
DinningHall.produceSomeMantou(5);
List<Food> foods = DinningHall.getFoods();
for(Food f : foods){
System.out.println(foods +"\t");
}
System.out.println();
}
}
//##觉得有用请及时采纳,在做任务哈
public class DinningHall{
private DinningHall instance = null;
private DinningHall{
}
public static DinningHall getInstance(){
//单例模式:创建食堂对象
if(instance == null){
instance = new DinningHall();
}
return instance;
}
public Food createFood(String order){
//工厂模式:创建一些吃的
if("1号菜".equals(order)){
//比如菜单上1号菜是鱼香肉丝
return new YuXiangRouSi();
}
else if("2号菜".equals(order)){
//比如菜单上2号菜是宫保鸡丁
return new GongBaoJiDing();
}
else{
return null;
}
}
//建造者模式start:集中管理,生产一些吃的东西
private List<Food> list = new ArrayList<Food>();
public List<Food> getFoods(){
return list;
}
public void produceSomeMantou(int count){
for(int i=0; i<count; i++){
list.add(new ManTou());
}
}
//建造者模式end
}
//##食物:Food.java
public interface Food(){
public String getName();
}
//##鱼香肉丝:YuXiangRouSi.java
public class YuXiangRouSi implements Food(){
public String getName(){
return "鱼香肉丝";
}
}
//##宫保鸡丁:GongBaoJiDing.java
public class GongBaoJiDing implements Food(){
public String getName(){
return "宫保鸡丁";
}
}
//##馒头:Mantou.java
public class Mantou implements Food(){
public String getName(){
return "馒头";
}
}
//##测试类Tester.java
public class Tester{
public static void main(){
//1.单例模式
DinningHall dh = DinningHall.getInstance();
//2.工厂模式
Food f1 = DinningHall.createFood("1号菜");
System.out.println(f1.getName());
//3.建造者模式
DinningHall.produceSomeMantou(5);
List<Food> foods = DinningHall.getFoods();
for(Food f : foods){
System.out.println(foods +"\t");
}
System.out.println();
}
}
//##觉得有用请及时采纳,在做任务哈
更多追问追答
追问
谢谢!! 能不能帮我搞一个JAVA带有窗口的?
追答
作业的话完全没有必要
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询