c# - 在普通类中拥有虚拟方法和在抽象类中拥有抽象方法之间的核心区别?
问题描述
我知道抽象类的子类必须使用抽象方法。但是具有虚方法的普通类不需要相同的方法。那我们为什么需要抽象类呢?除了隐私之外,有这个要求的目的是什么?为什么要抽象而不是虚拟?
解决方案
抽象类定义了抽象方法,这些方法是需要被任何派生类覆盖的方法。这些方法没有实现,并留给派生类来实现它的方法。
类上的虚拟方法是已经具有实现的方法,但如果派生类选择这样做,它可能会覆盖该方法并提供自己的实现。
推荐阅读
- javascript - 重定向到 json 响应中的 URL
- tensorflow - Tensorflow 对象检测 api:如何使用 imgaug 进行增强?
- javascript - 如何在 Datatables 的服务器端处理脚本中使用 $_GET?
- node.js - 通过 gmail API 发送电子邮件时更改地址
- javascript - 是否可以在 Node 模块的已编译发行版中输出简化的 Typescript 类型
- eclipse - 启动 Eclipse IDE 时发生错误
- c# - 服务结构部署问题
- javascript - 如何获取消息的频道
- module - 如何在 Racket 中获取自定义语言的命名空间?
- azure-application-insights - 在使用和估计成本下找不到数据保留