从抽象类和普通类的区别中体会设计模式

普通类可以实例化,抽象类型只能去继承,抽象类用于定义一些基本的行为和属性,具体的行为由子类去完成。我们先来看下下边的代码:

我们也来顺便总结一下普通类和抽象类的区别:

  1. 实例化:普通类可以直接实例化,而抽象类不能直接实例化。
  2. 方法:抽象类中既包含抽象方法又可以包含具体的方法,而普通类只能包含普通方法。
  3. 实现:普通类实现接口需要重写接口中的方法,而抽象类可以实现接口方法也可以不实现。

结合以上的特性,和shigen在学习的过程中遇到的设计模式的问题,我总结了一下设计模式中利用到的抽象类的特性。

模版模式

这里仅有一个继承类,可以新建多个类继承,自定义各自的methodTwo

工厂模式

其实这里的Product也可以定义成接口,但是还是得按照实际的需要,如:所有的类都需要有公共的方法,这个时候定义成抽象类就再合适不过了。

好了,以上就是《从抽象类和普通类的区别中体会设计模式》的全部内容了。觉得不错的话,记得点赞支持一下哈。


shigen一起,每天不一样!

相关推荐
卷心菜的学习路16 小时前
基于多模态向量检索的数学相似题推荐系统:完整设计、算法与实验
java·python·算法·大模型·推荐算法·数学相似题
今天的砖头有点烫手啊17 小时前
AI Agent 开发实战(十):Agent 设计模式(ReAct / Plan-Execute / Reflection)
人工智能·react.js·设计模式
豆沙沙包?17 小时前
C++-程序的内存模型(P84-P88)
java·jvm·c++
董员外17 小时前
RAG 系统进化论(十):可运营 RAG,从原型到长期运行的知识系统
人工智能·后端·设计模式
吴声子夜歌17 小时前
正则指引——匹配原理
java·正则表达式
未秃头的程序猿18 小时前
凌晨3点被叫醒:线上OOM,我用这套流程40分钟定位根因
java·jvm·后端
letisgo518 小时前
JDK21 + Spring AI 2.0 入场指南:2026 年 Java 开发者 AI 架构全景图
java·ai·idea·jdk21
白仑色18 小时前
Spring Boot 从切面统一控制事务
java·spring boot·aop·spring事务
Flynt18 小时前
Java并行流,让我debug了一整天
java
DFT计算杂谈19 小时前
FeSe超薄膜在CaF2衬底上的电子结构DFT研究
java·服务器·前端