首页 > 编程语言 >java 咖啡工厂;

java 咖啡工厂;

时间:2024-03-30 13:58:05浏览次数:32  
标签:咖啡 Coffee java com factory 工厂 coffee lxk public

父类:Coffee

package com.lxk.factory;

public abstract class Coffee {


    public abstract String getName() ;

    public void addMilk(){
        System.out.println("add milk");
    }
}

子类1:BlackCoffee

package com.lxk.factory;

public class BlackCoffee extends Coffee{
   @Override
    public String getName(){
       return "BlackCoffee";
   }



}

子类2:Latte

package com.lxk.factory;

public class Latte extends Coffee{
    @Override
    public String getName(){
        return "LatteCoffee";
    }
}

coffeeFactory

package com.lxk.factory;

public  class CoffeeFactory {
    public Coffee createCoffee(String type){
        Coffee coffee = null;
        if("Black".equals(type)){
            coffee = new BlackCoffee();
        }else if("Latte".equals(type)){
            coffee = new Latte();
        }
        return coffee;
    }


}

CoffeeStore

package com.lxk.factory;

public class CoffeeStore {
    public Coffee orderCoffee(String type){
        CoffeeFactory factory = new CoffeeFactory();
        Coffee coffee = factory.createCoffee(type);
        return coffee;
    }

}

消费者

package com.lxk.factory;

public class Client {
    public static void main(String[] args) {
        CoffeeStore store = new CoffeeStore();
        Coffee coffee = store.orderCoffee("Latte");
        System.out.println(coffee.getName());
        System.out.println(coffee);
    }
}

输出

"C:\Program Files\Java\jdk-17\bin\java.exe" "-javaagent:C:\Program Files\IntelliJ IDEA2023\lib\idea_rt.jar=50693:C:\Program Files\IntelliJ IDEA2023\bin" -Dfile.encoding=UTF-8 -classpath D:\test\untitled\out\production\untitled com.lxk.factory.Client
LatteCoffee
com.lxk.factory.Latte@6d311334

Process finished with exit code 0

标签:咖啡,Coffee,java,com,factory,工厂,coffee,lxk,public
From: https://blog.csdn.net/2301_81147503/article/details/137166998

相关文章

  • 羡青山有思,Java有接口
    本篇会加入个人的所谓‘鱼式疯言’❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言而是理解过并总结出来通俗易懂的大白话,小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.......
  • JavaWeb学习笔记——第九天
    Mybatis(二)Mybatis基础操作删除根据主键删除SQL语句:deletefromempwhereid=17;接口方法:@Delete("deletefromempwhereid=#{id}")publicvoiddelete(Integerid);注意事项如果mapper接口方法形参只有一个普通类型的参数,#{…}里面的属性名可以随便写,如:#......
  • 快递员的烦恼【华为OD机试JAVA&Python&C++&JS题解】
    一.题目-快递员的烦恼快递公司每日早晨,给每位快递员推送需要送到客户手中的快递以及路线信息,快递员自己又查找了一些客户与客户之间的路线距离信息,请你依据这些信息,给快递员设计一条最短路径,告诉他最短路径的距离。注意:不限制快递包裹送到客户手中的顺序,但必须保证都送......
  • 园区参观路径【华为OD机试JAVA&Python&C++&JS题解】
    一.题目-园区参观路径园区某部门举办了FamilyDay,邀请员工及其家属参加;将公司园区视为一个矩形,起始园区设置在左上角,终点园区设置在右下角;家属参观园区时,只能向右和向下园区前进;求从起始园区到终点园区会有多少条不同的参观路径;输入描述:第一行为园区长和宽;后面每一行表示......
  • 1.java openCV4.x 入门-环境搭建
    专栏简介......
  • Go 开发踩过的那些坑(适合Java转Go)
    做完事情就总结,是个好习惯。花了一个多月,将写了一年半多的Java工程迁移到Go上。来小结下学到的东西吧!一些基础map访问Javamap.get(key)ormap.getOrDefault(key,defaultValue)Goifvalue,ok:=map[key];ok{//...code}强制类型转换注意,转换为*......
  • [Java]23种设计模式
    【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)https://www.cnblogs.com/cnb-yuchen/p/18031969出自【进步*于辰的博客】启发博文:《一次性讲清Java23种设计模式》(转发)。目录1、设计模式是什么?2、23种设计模式2.1创建型模式2.1.1单例模式最后1、设计模式是......
  • 毕业设计课题:机房预约系统,基于java+SSM+mysql
          一、前言介绍          网络的快速发展从根本上更改了世界各组织的管理方式,自二十世纪九十年代开始,我国的政府、企事业等单位就设想可以通过互联网系统来进行管理信息。由于以前存在各方面的原因,比如网络普及度低、用户不接受、互联网的相关法律法规也......
  • 毕业设计课题:交通事故信息管理系统,基于java+SSM+mysql
          一、前言介绍         系统管理也都将通过计算机进行整体智能化操作,对于交通事故档案管理系统所牵扯的管理及数据保存都是非常多的,例如管理员;个人中心、用户管理、部门信息管理、警察信息管理、事故类型管理、事故信息管理、档案类型管理、档案信息管理......
  • 在Java中什么是JVM?
    在Java中,JVM(JavaVirtualMachine)是Java平台的一个核心组成部分,它允许Java程序能够在多种硬件和操作系统平台上运行而无需做任何修改。JVM的跨平台特性是通过“一次编写,到处运行”(WriteOnce,RunAnywhere)的理念实现的。下面详细介绍JVM的工作原理和其关键组成部分。JVM的工......