package com.Telephone;/*** @Author: 廾匸* @Date: 2020/11/6 21:21* @Description: 电话卡类* @version: 1.01*/
public abstract class PhoneCard {private String name;public abstract void Billing();// //计费public PhoneCard(String name) {this.name = name;}public PhoneCard() {}public String getName() {return name;}public void setName(String name) {this.name = name;}
}package com.Telephone;/*** @Author: 廾匸* @Date: 2020/11/6 21:24* @Description: 联通卡类* @version: 1.01*/
public class Unicom extends PhoneCard {@Override/*** @date:  2020/11/6 22:31* @param * @return: void* @description: 实现计费功能*/public void Billing() {System.out.println("联通卡每分钟话费收取0.18元");}
}package com.Telephone;/*** @Author: 廾匸* @Date: 2020/11/6 21:24* @Description: 移动卡类* @version: 1.01*/
public class Mobile extends PhoneCard {@Override/*** @date:  2020/11/6 22:31* @param * @return: void* @description: 实现计费功能*/public void Billing() {System.out.println("移动卡每分钟话费收取0.19元");}
}package com.Telephone;/*** @Author: 廾匸* @Date: 2020/11/6 21:28* @Description: 电话卡工厂类* @version: 1.01*/
public class PhoneCardFactory {public static PhoneCard get(String name){PhoneCard phoneCard;switch (name){case "联通": return new Unicom();case "移动":return new Mobile();default: phoneCard = null;}return phoneCard;}
}package com.Telephone;/*** @Author: 廾匸* @Date: 2020/11/6 21:35* @Description: 测试* @version: 1.01*/
public class Test {public static void main (String[] args){PhoneCard unicom = PhoneCardFactory.get("联通");unicom.Billing();Mobile mobile = (Mobile)PhoneCardFactory.get("移动");mobile.Billing();}
}

工厂模式,设计电话卡类,具有属性姓名,具有动作计费,电话卡片分成 联通和移动,要求在控制台中输入联通 就能通过工厂生成一个联通的联通卡的对象,输入移动生成移动卡的对象,然后分别调用各自的计费方式打印出相关推荐

  1. Spring4.x(3)---工厂模式设计IOC容器

    工厂模式设计IOC容器 IOC容器的底层实现其实就是利用工厂设计模式.接下来我们通过工厂设计模式模拟一个小型的IOC容器,让大家对IOC的底层原理更加清晰些. 一.搭建案例程序 1)CustomerD ...

  2. 《JAVA练习题目11》学生类有属性姓名(字符串类型)和选修课程信息(ArrayList<Course>对象)两个属性,和三个方法

    学生类有属性姓名(字符串类型)和选修课程信息(ArrayList对象)两个属性,和三个方法 一个用于初始化学生名字的构造方法:一个添加选修课程的addCourse方法:一个获取所有课程平均分的getA ...

  3. (一)、写一个怪物的类,类中有属性姓名(name),攻击力(attack),有打人的方法(fight)。(方法的重写)...

    (一).写一个怪物的类,类中有属性姓名(name),攻击力(attack),有打人的方法(fight). 再写两个子类: 红猪的类:类中有属性姓名(name),攻击力(attack),颜色(color ...

  4. Java:利用工厂模式设计加减乘除功能的计算器

    使用简单工厂模式开发一个包含加减乘除功能的计算器. 思路如下: 1.构造一个计算器抽象类:属性:含有两个参与计算的数字:方法:获取返回计算结果. 2.创建加法.减法.乘法.除法功能子类,继承计算器,在 ...

  5. java编写学生类student.属性:姓名_学号_年龄_用JAVA定义一个学生类Student来表示学生信息,含成员学号、姓名、年龄和成绩...

    展开全部 如下所示: public class Student { private int sNo; //学号 private String name; //姓名 private String sex ...

  6. 使用Spring工厂模式管理多个类实现同一个接口

    最近小白在看 Spring IOC 和 AOP 源码时发现 Spring 中有很多类都实现了同一个接口,像下面这种 public interface AopProxy {Object getProxy ...

  7. java攻击力与命中_JAVA写一个怪物的类,类中有属性姓名,攻击力,有打人的方法。...

    展开全部 //filename:Monster.java public interface Monster { public String getName(); public Integer getA ...

  8. 写了一条Sybase SQL语句,用于生成一个表中所有数据的插入记录的生成

    select 'insert into pcmc_menu(menuid, subsysid'+ --确定pmenuid是否为NULL,不为NULL就加上 case convert(varchar,p ...

  9. java设计模式 gof_Java设计模式GOF之工厂模式

    一.工厂模式(Factory) 1.实现了创建者和调用者的分离 2.应用场景 ①JDK中 Calendar 的 getInstance(): ②JDBC 的 Connection 对象的获取: ③Hi ...

  10. php设计一个盒子类代码_PHP设计模式之简单工厂模式(Simple Factory)代码实例大全(七)...

    目的[1] 简单工厂模式是一个精简版的工厂模式. 它与静态工厂模式最大的区别是它不是『静态』的.因为非静态,所以你可以拥有多个不同参数的工厂,你可以为其创建子类.甚至可以模拟(Mock)它,这对编写可 ...

最新文章

  1. [lcm] Qualcomm平台的显示屏lcd驱动移植步骤
  2. 很有趣的问题,Public继承和默认的集成
  3. linux getty命令 开启 初始化 设置 终端 简介
  4. python爬虫代码优化:使用生成器重构提取数据方法
  5. QToolButton设置背景无效的思考
  6. subversion 命令
  7. Dalvik/ART(ANDROID)中的多线程机制(2)
  8. simple introduction to AUTOFS
  9. 几十行python代码构建一个前后端分离的目标检测演示网站,代码开源
  10. mysql++编程规范_建议收藏 - 专业的MySQL开发规范
  11. Django:ORM模型类,字段选项,Meta内部类,常见问题处理
  12. appinventor如何做个游戏_单亮:游戏的重要性
  13. jquery级联下拉框
  14. 关于jquery获取单选框value属性值为on的问题
  15. 视频不显示的分析方法
  16. c截取字符串中的一部分_2019年!史上最全Python基础题(50道题详解)持续更新中-第二篇...
  17. Unity3D 模型描边插件Outline Effect详细使用说明、C#功能扩展
  18. ev4视频转换为mp4工具使用教程
  19. SQL中日期与时间类型及函数
  20. vue3使用setup代替created

热门文章

  1. TensorFlow环境搭建(Win7-VS2015-DirectXSDK-CUDA8-Anaconda3-cuDNN6-TensorFlow120)
  2. RLE格式标注文件转为PNG格式(Run Length Encode)
  3. java javax 的区别_java与javax的区别分析
  4. 华为机试 (10/25)
  5. 【表严肃】一个比较不错的前端教程合集网站
  6. [009]新疆大盘鸡
  7. C程序设计--指针(swap函数)
  8. hybris impex 那点事
  9. 华为开发者大会 2022 开发者主题演讲与技术分论坛干货分享(附课件)
  10. 【Leetcode】213. 打家劫舍II(House Robber II)