第三回 基类中的方法,应该根据实际情况,虚的虚,抽象的抽象!

简介:

今天主要说一下基类中的方法和属性,既然把这东西放进了基类,那有一点可以肯定的是,它们是公用的,这种公用的实现可能由基类自己实现,也可能是子类去实现,对于这句话,会有三种情况:(以方法以例)

1 基类中的方法,对于所有子类都是一样的,并且子类不能修改这个方法,这时,我们的方法这样定义

1 protected void CannotModifyMethod()
2 {
3   ...
4 }

2 基类中的方法,对于所有子类都是一样的,但子类可能根据自己的逻辑,去实现自己那块业务,这时,我们的方法这样定义

1 protected virtual void OverrideMethod()
2 {
3   ...
4 }

3 基类中的方法,完成由子类去实现,每个子类都有自己的业务逻辑,基类本身不能控制它,这时,我们的方法这样定义

1 protected abstract void AbstractMethod();

OK,对于基类中出现的方法大体就这三种情况,我们在设计基类时,一定要根据实际情况去选择最佳的方法,而不要动不动virtual,时不时就来个abstract,当你使用每一个修饰符时,都应该明确知道它的含义,及你为什么要使用它,这样才能把程序写的更加完美,另一方面也能看出你的程序是否“真正的面向对象”!

下面的图像,展现了一个操作基类的CURD操作,它们都是virtual的,为什么?因为它们是可以被子类根据自己的逻辑去覆写的。

感谢您的阅读!

本文转自博客园张占岭(仓储大叔)的博客,原文链接:第三回 基类中的方法,应该根据实际情况,虚的虚,抽象的抽象!,如需转载请自行联系原博主。

目录
相关文章
|
存储 OLAP OLTP
漫谈OceanBase 列式存储
列式存储主要的目的有两个: 大部分OLAP查询只需要读取部分列而不是全部列数据,列式存储可以避免读取无用数据; 将同一列的数据在物理上存放在一起,能够极大地提高数据压缩率。 OLAP和OLTP OLAP,也叫联机分析处理(Online Analytical Processing)系统,有的时候也叫DSS决策支持系统,就是我们说的数据仓库。
6671 0
|
9月前
|
JavaScript Java 开发者
Spring事务失效,常见的情况有哪些?
本文总结了Spring事务失效的7种常见情况,包括未启用事务管理功能、方法非public类型、数据源未配置事务管理器、自身调用问题、异常类型错误、异常被吞以及业务和事务代码不在同一线程中。同时提供了两种快速定位事务相关Bug的方法:通过查看日志(设置为debug模式)或调试代码(在TransactionInterceptor的invoke方法中设置断点)。文章帮助开发者更好地理解和解决Spring事务中的问题。
349 7
|
存储 资源调度 监控
工作负载类型
【10月更文挑战第18天】
|
12月前
|
人工智能 Cloud Native API
Forrester Wave:阿里云公有云产品及战略能力全球第二
阿里云被评为Forrester 公有云平台Wave评估领导者,是唯一一家入选领导者象限的中国厂商,其中阿里云在共30个打分项中有17项为最高分。
|
12月前
|
算法 安全 数据安全/隐私保护
散列值数据完整性验证
散列值数据完整性验证
344 11
|
Web App开发 前端开发
css:浏览器滚动条出现时页面宽度会缩窄页面抖动
css:浏览器滚动条出现时页面宽度会缩窄页面抖动
611 0
css:浏览器滚动条出现时页面宽度会缩窄页面抖动
|
数据可视化 数据格式
跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验
这篇2020年发表在cell上关于新冠的组学文章里面有大量的生信内容。今天带大家复现其中的一个Supplemental Figure:带散点的箱线图。
1978 1
跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验
|
存储 弹性计算 Kubernetes
包年购买K8S集群的省钱之道
是我利用5000块代金券包年购买K8S集群的过程分享,希望对大家有所帮助。
3721 1
包年购买K8S集群的省钱之道
|
存储 Java 视频直播
OSS 解决方案篇-OSS 结合 视频直播使用
OSS 作为多媒体的使用,不仅能结合媒体处理使用,也可以结合视频直播,作为 录制、截图的存储原站;
3279 0
OSS 解决方案篇-OSS 结合 视频直播使用

热门文章

最新文章