当前位置: 首页 > news >正文

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

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

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

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

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

模版模式

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

模版模式

工厂模式

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

工厂模式

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


shigen一起,每天不一样!

相关文章:

  • 软件测试面试大全(2023版,答案+文档)
  • Docker项目部署
  • 零基础转行网络工程师,过来人给的一些建议
  • 如何自学(黑客)网络安全技术————(详细分析学习思路)方法
  • CUDA+cuDNN+TensorRT 配置避坑指南
  • Git远程仓库
  • java 将字符串转为Base64格式与将Base64内容解析出来
  • 如何让FileBeat支持http的output插件
  • 升级Xcode 15后,出现大量Duplicate symbols问题
  • 第五章:最新版零基础学习 PYTHON 教程—Python 字符串操作指南(第七节 - Python 中使用 % 进行字符串格式化)
  • Linux:TCP三握四挥简析
  • 【数据结构】手撕归并排序(含非递归)
  • Kafka:安装与简单使用
  • Java中的TCP通信(网络编程 二)
  • 使用华为eNSP组网试验⑷-OSPF多区域组网
  • 完美清晰,炫酷畅享——Perfectly Clear Video为你带来卓越的AI视频增强体验
  • Python之字符串格式化
  • 【Django 笔记】第一个demo
  • Linux-正则三剑客
  • 怎么将Linux上的文件上传到github上
  • 继71路之后,上海中心城区将迎来第二条中运量公交
  • 董军同法国国防部长举行会谈
  • 中美发布日内瓦经贸会谈联合声明达成关税共识,外交部回应
  • 中美经贸高层会谈11日在日内瓦将继续进行
  • 海航回应“男团粉丝为追星堵住机舱通道”:已紧急阻止
  • 红场阅兵即将开始!中国人民解放军仪仗队亮相