java中抽象类与模板方法模式的示例分析
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍了java中抽象类与模板方法模式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、抽象类概念1.Java中可
千家信息网最后更新 2025年01月18日java中抽象类与模板方法模式的示例分析抽象类:
抽象方法:
这篇文章主要介绍了java中抽象类与模板方法模式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
一、抽象类概念
1.Java中可以定义没有方法体的方法,该方法由子类来具体实现
2.该没有方法体的方法我们称之为抽象方法,含有抽象方法的类称之为抽象类
二、抽象方法的特点
1.只有方法头没有方法体的方法称为抽象方法
2.抽象方法用abstract来修饰
3.抽象方法代表一种不确定的操作或行为
4.抽象方法不能被调用
三、抽象类的特点
1.定义中含有抽象方法的类叫做抽象类
2.抽象类用abstract来修饰
3.抽象类代表一种抽象的对象类型
4.抽象类并不能实例化
5.抽象类中可以有具体的方法,可以没有抽象方法
四、创建抽象类与抽象方法
抽象类:
抽象方法:
五、抽象类与抽象方法的使用
抽象类不能实例化,可以让子类继承抽象类进行实例化
六、模板方法模式
1. 定义
一个模板方法用一些抽象的操作定义一个算法,二而子类将重定义这些操作以提供具体的行为
2. 意图
模板方法模式定义了一个算法的步骤,并允许一个或多个步骤子类为一个或多个步骤提供其具体行为。
让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤。
3. 模式结构
定义抽象类,为所有子类提供一个算法框架
具体子类,提供工作流程的具体实现
调用类
4. 示例
1.定义抽象类,为所有子类提供一个算法框架(当然也可以提供多个算法框架)
2.定义了两个具体子类,每一个子类负责一个平台的工作流程的具体实现
3.调用类就可以根据该套代码运行的平台去选择对应的子类实例化,调用算法框架
package com.demo;abstract class Control { //创建模板方法 abstract void initUart(); abstract String getCommand(); abstract void openLight(); abstract void closeLight(); //创建工作流程1 public void work() { String cmd; initUart(); cmd = getCommand(); //根据条件执行不同流程 if (cmd == "open") { openLight(); } else if (cmd == "close") { closeLight(); } } //也可创建N个工作流程}class Arduino extends Control { //工作流程具体实现 void initUart(){ System.out.println("Arduino initUart"); } String getCommand(){ System.out.println("Arduino getCommand"); return "open"; } void openLight() { System.out.println("Arduino openLight"); } void closeLight() { System.out.println("Arduino closeLight"); }}class RaspberryPi extends Control { //工作流程具体实现 void initUart(){ System.out.println("raspberryPi initUart"); } String getCommand(){ System.out.println("RaspberryPi getCommand"); return "close"; } void openLight() { System.out.println("raspberryPi openLight"); } void closeLight() { System.out.println("raspberryPi closeLight"); }}public class Test { public static void main(String[] args) { //Arduino执行工作流程 Arduino one = new Arduino(); one.work(); //RaspberryPi执行工作流程 RaspberryPi two = new RaspberryPi(); two.work(); }}
运行结果:
感谢你能够认真阅读完这篇文章,希望小编分享的"java中抽象类与模板方法模式的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
方法
子类
流程
工作流程
算法
工作
模板
模式
实例
框架
步骤
篇文章
示例
多个
行为
分析
代表
平台
特点
运行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
国外网络安全战略研究所
弹性云服务器有何特点
大专数据库笔试题及答案
计算机网络技术代码不同
wmn网络技术是什么
易语言软件链接云数据库
网络安全服务套餐
qx9770是服务器cpu吗
蓝战非英雄联盟服务器
景德镇交友软件开发
网络电视缓存服务器
军工信息化网络安全股
金融数据库的意义
软件开发过程中的文档交给谁
保贝科技和互联网
天津质量软件开发
文件服务器实训报告
江陵租房软件开发
买手机一直显示服务器未接入
四川艾美伦网络技术有限公司
英魂之刃九霄苍穹服务器怎么加入
wmn网络技术是什么
电脑重装后出现服务器运行失败
吱信上海网络技术有限公司给我交了个税
国家网络安全宣传周亮点已整理
微信公众平台 数据库
武汉餐饮软件开发
未落实网络安全专项资金
雅安软件开发定做
微信聊天记录 服务器