第六节第二部分:抽象类的应用-模板方法设计模式

模板方法设计模式的写法

模板方法设计模式的写法

建议使用final关键字修饰模板方法

使用final关键字修饰模板方法

总结

总结

代码:

People(父类抽象类)

package com.Abstract3;
public abstract class People {/*设计模板方法设计模式* 1.定义一个模板方法出来*/public final void write(){System.out.println("\t\t\t\t\t《我的上司》");System.out.println("\t\t我的上司好啊,牛逼啊,来看看我的上司有多牛逼");//2.模板方法并不清楚正文部分到底怎么去写,但是他知道子类肯定要去写System.out.println(writeMain());System.out.println("有这样的上司太好了");}//3.设计一个抽象方法写正文,具体实现交给子类完成public abstract String writeMain();
}

Teacher(子类继承People类)

package com.Abstract3;public class Teacher extends People{@Overridepublic String writeMain() {return "我的上司挺好的,让我待在这里别走,他去买点橘子";}
}

Student类(子类继承People类)

package com.Abstract3;
public class Student extends People {@Overridepublic String writeMain() {return "我的上司特别牛逼,开车不看红绿灯,下辈子让他做下属";}
}

Test类(主函数所在)

package com.Abstract3;
//搞清楚抽象类的应用场景,用来设计模板方法设计模式
//场景:学生、老师都要写一篇作文:我的上司
//第一段:一样
//正文部分自由发挥
//最后一段也是一样
public class Test {public static void main(String[] args) {Teacher t = new Teacher();t.write();Student s = new Student();s.write();}
}

代码结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/82959.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年渗透测试面试题总结-渗透测试红队面试三(题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 渗透测试红队面试三 六十一、主机被入侵自查解决方案 六十二、NAT(网络地址转换&#xff…

springboot-web基础

21.web spring MVC 基于浏览器的 B/S 结构应用十分流行。Spring Boot 非常适合 Web 应用开发。可以使用嵌入式 Tomcat、Jetty、 Undertow 或 Netty 创建一个自包含的 HTTP 服务器。一个 Spring Boot 的 Web 应用能够自己独立运行,不依赖需 要安装的 Tomcat&#x…

重构Cursor无限电子邮箱注册系统的技术实践

引言 在当今数字化时代,电子邮箱已成为个人和企业网络身份的基础。作为开发者,我们往往会遇到需要设计注册系统的场景,而如何构建一个既安全又用户友好的邮箱注册系统,是值得深入探讨的话题。本文将围绕Cursor邮箱系统的技术重构…

2025.05.10京东机考真题算法岗-第三题

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 03. 忍者屋顶之旅 问题描述 LYA是一位身手敏捷的忍者,正在一个古老的村庄进行飞檐走壁的训练。村庄有两排房屋,每排从左到右排列着 n n

vscode不能跳转到同一个工作区的其他文件夹

明白了,你说的“第二种情况”是指: 你先打开的是项目文件夹(比如 MyProject),然后通过 VS Code 的“添加文件夹到工作区”功能,把 ThirdPartyLib 文件夹添加进来。 结果,项目代码里 #include “…

FastAPI 和 MongoDB 实现请求头参数处理的示例,并在 React 中进行渲染

FastAPI 和 MongoDB 后端 安装必要的库 安装 FastAPI、Uvicorn、Motor(用于 MongoDB 的异步驱动)和 Pydantic(用于数据验证)。 pip install fastapi uvicorn motor pydantic创建 FastAPI 应用 创建一个文件 main.py,并…

技术伦理双轨认证如何重构AI工程师能力评估体系——基于AAIA框架的技术解析与行业实证研究

引言:AI工程师能力评估的范式转型 2025年全球人工智能产业呈现出两大特征:技术迭代加速与监管框架完善。据Gartner数据显示,全球75%的企业在AI项目部署中遭遇技术伦理混合型难题,传统单维度技术认证体系已无法满足产业需求。本文…

03.Golang 切片(slice)源码分析(二、append实现)

Golang 切片(slice)源码分析(二、append实现) 前言: Golang 切片(slice)源码分析(一、定义与基础操作实现) 在前面的文章我们介绍了,切片的结构体与创建\扩容…

mysql常用方法

mysql常用方法 一、基本用法 -- MySQL创建唯一索引 CREATE UNIQUE INDEX 索引名 ON 表名(列名1,列名2,...); --也可以使用ALTER TABLE语句给现有表添加唯一索引(UNIQUE) ALTER TABLE 表名 ADD CONSTRAINT 索引名 UNIQUE KEY(列名1,列名2,...); alter t…

STM32F103C8T6板子使用说明

第一章 计算机体系结构(了解) 后续在板子上开发的时候,需要考虑是否有操作系统 方式一:有操作系统,通过c库通过os api操作硬件方式二:无操作系统, 通过c库通过固件库操作硬件 第二章 STM32开发板概述 板子/开发板&…

PBR材质-Unity/Blender/UE

目录 前言: 一、Unity: 二、Blender: 三、UE: 四、全家福: 五、后记: 前言: PBR流程作为表达物理效果的经典方式,很值得一学。纹理贴图使用的是上一期的Textures | cgbookcas…

【生产实践】Linux中/usr/bin、/usr/sbin与/usr/local的关系解析(2025年技术规范)

一、核心定位与功能划分 /usr/bin:用户级通用命令库 • 定位:存储系统预装的用户级可执行文件,这些命令通常由Linux发行版官方软件包管理器(如APT、YUM)安装,属于系统默认功能的一部分。 • 示例命令&#…

智能网联汽车 “中央计算” 博弈:RTOS 与跨域融合的算力分配挑战

一、引言 随着智能驾驶技术的飞速发展,汽车逐渐从传统的交通工具演变为移动的智能终端。智能网联汽车的核心竞争力日益体现在其强大的计算能力和高效的算力管理上。汽车电子电气架构(EEA)正经历从分布式架构向 “中央计算 区域控制” 架构的…

【PDF】使用Adobe Acrobat dc添加水印和加密

【PDF】使用Adobe Acrobat dc添加水印和加密 文章目录 [TOC](文章目录) 前言一、添加保护加密口令二、添加水印三、实验四、参考文章总结 实验工具: 1.Adobe Acrobat dc 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、添加保护加…

python面试实战经验分享

2025/3/28第一面 杭州实在智能 见习python开发工程师 1、Python方法中参数默认值可以是列表或者字典吗? 在Python中,函数参数的默认值可以是列表或字典,列表或者字典在初始化应在函数体内,如果不正确处理,可能会导致所有调用都共享同一个列表。 2、协程、线性和进程 进程…

MIST:一键解锁 macOS 历史版本,旧系统安装不再难!

在 Mac 电脑的使用过程中,你是否遇到过这些困扰?为了运行一款经典设计软件,新系统却无法兼容;或是想给老旧 Mac 设备升级,却找不到适配的系统版本。而 App Store 里,旧版 macOS 安装包就像 “隐藏副本”&am…

win10 局域网内聊天

在 Windows 10 的局域网 中,如果你想实现 多个用户之间的聊天功能,可以选择以下几种方案,取决于你需要的是: • ✅ 命令行纯文字聊天(如 Linux talk) • ✅ 图形界面聊天室 • ✅ 局域网广播消息 • ✅ 多人…

Android CountDownTimer重写

Android 倒计时器重写,实现可重复使用,动态修改计时时间 CountDownTimerRew 是一个可重写、动态修改计时时间的 Android 倒计时器类。它允许开发者设置倒计时总时长、间隔时间,并通过 onTick 和 onFinish 方法实现定时回调。该类支持动态修改…

dp自动化登陆之hCaptcha 验证码

hCaptcha 是一种常见的验证码服务,用于区分人类用户和自动化程序。由于其基于图像识别和行为分析,下面介绍如何使用自动化点击验证码完成登陆。 思路:登陆目标网站触发验证码,截图并发给打码平台返回坐标,模拟人工点击…

【工作记录】crmeb后端项目打开、运行

1、下载代码 1)安装git 不再详述 2)git拉代码 项目地址如下,在vscode-分支中拉代码 # 克隆项目 git clone https://gitee.com/ZhongBangKeJi/crmeb_java/ 截图如下是已经成功拉下来 注意安装对应版本 2、maven配置 安装配置见&#x…