工厂模式,设计电话卡类,具有属性姓名,具有动作计费,电话卡片分成 联通和移动,要求在控制台中输入联通 就能通过工厂生成一个联通的联通卡的对象,输入移动生成移动卡的对象,然后分别调用各自的计费方式打印出
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();}
}
工厂模式,设计电话卡类,具有属性姓名,具有动作计费,电话卡片分成 联通和移动,要求在控制台中输入联通 就能通过工厂生成一个联通的联通卡的对象,输入移动生成移动卡的对象,然后分别调用各自的计费方式打印出相关推荐
- Spring4.x(3)---工厂模式设计IOC容器
工厂模式设计IOC容器 IOC容器的底层实现其实就是利用工厂设计模式.接下来我们通过工厂设计模式模拟一个小型的IOC容器,让大家对IOC的底层原理更加清晰些. 一.搭建案例程序 1)CustomerD ...
- 《JAVA练习题目11》学生类有属性姓名(字符串类型)和选修课程信息(ArrayList<Course>对象)两个属性,和三个方法
学生类有属性姓名(字符串类型)和选修课程信息(ArrayList对象)两个属性,和三个方法 一个用于初始化学生名字的构造方法:一个添加选修课程的addCourse方法:一个获取所有课程平均分的getA ...
- (一)、写一个怪物的类,类中有属性姓名(name),攻击力(attack),有打人的方法(fight)。(方法的重写)...
(一).写一个怪物的类,类中有属性姓名(name),攻击力(attack),有打人的方法(fight). 再写两个子类: 红猪的类:类中有属性姓名(name),攻击力(attack),颜色(color ...
- Java:利用工厂模式设计加减乘除功能的计算器
使用简单工厂模式开发一个包含加减乘除功能的计算器. 思路如下: 1.构造一个计算器抽象类:属性:含有两个参与计算的数字:方法:获取返回计算结果. 2.创建加法.减法.乘法.除法功能子类,继承计算器,在 ...
- java编写学生类student.属性:姓名_学号_年龄_用JAVA定义一个学生类Student来表示学生信息,含成员学号、姓名、年龄和成绩...
展开全部 如下所示: public class Student { private int sNo; //学号 private String name; //姓名 private String sex ...
- 使用Spring工厂模式管理多个类实现同一个接口
最近小白在看 Spring IOC 和 AOP 源码时发现 Spring 中有很多类都实现了同一个接口,像下面这种 public interface AopProxy {Object getProxy ...
- java攻击力与命中_JAVA写一个怪物的类,类中有属性姓名,攻击力,有打人的方法。...
展开全部 //filename:Monster.java public interface Monster { public String getName(); public Integer getA ...
- 写了一条Sybase SQL语句,用于生成一个表中所有数据的插入记录的生成
select 'insert into pcmc_menu(menuid, subsysid'+ --确定pmenuid是否为NULL,不为NULL就加上 case convert(varchar,p ...
- java设计模式 gof_Java设计模式GOF之工厂模式
一.工厂模式(Factory) 1.实现了创建者和调用者的分离 2.应用场景 ①JDK中 Calendar 的 getInstance(): ②JDBC 的 Connection 对象的获取: ③Hi ...
- php设计一个盒子类代码_PHP设计模式之简单工厂模式(Simple Factory)代码实例大全(七)...
目的[1] 简单工厂模式是一个精简版的工厂模式. 它与静态工厂模式最大的区别是它不是『静态』的.因为非静态,所以你可以拥有多个不同参数的工厂,你可以为其创建子类.甚至可以模拟(Mock)它,这对编写可 ...
最新文章
- [lcm] Qualcomm平台的显示屏lcd驱动移植步骤
- 很有趣的问题,Public继承和默认的集成
- linux getty命令 开启 初始化 设置 终端 简介
- python爬虫代码优化:使用生成器重构提取数据方法
- QToolButton设置背景无效的思考
- subversion 命令
- Dalvik/ART(ANDROID)中的多线程机制(2)
- simple introduction to AUTOFS
- 几十行python代码构建一个前后端分离的目标检测演示网站,代码开源
- mysql++编程规范_建议收藏 - 专业的MySQL开发规范
- Django:ORM模型类,字段选项,Meta内部类,常见问题处理
- appinventor如何做个游戏_单亮:游戏的重要性
- jquery级联下拉框
- 关于jquery获取单选框value属性值为on的问题
- 视频不显示的分析方法
- c截取字符串中的一部分_2019年!史上最全Python基础题(50道题详解)持续更新中-第二篇...
- Unity3D 模型描边插件Outline Effect详细使用说明、C#功能扩展
- ev4视频转换为mp4工具使用教程
- SQL中日期与时间类型及函数
- vue3使用setup代替created
热门文章
- TensorFlow环境搭建(Win7-VS2015-DirectXSDK-CUDA8-Anaconda3-cuDNN6-TensorFlow120)
- RLE格式标注文件转为PNG格式(Run Length Encode)
- java javax 的区别_java与javax的区别分析
- 华为机试 (10/25)
- 【表严肃】一个比较不错的前端教程合集网站
- [009]新疆大盘鸡
- C程序设计--指针(swap函数)
- hybris impex 那点事
- 华为开发者大会 2022 开发者主题演讲与技术分论坛干货分享(附课件)
- 【Leetcode】213. 打家劫舍II(House Robber II)