C# 抽象
好多人将抽象类也作为多态的一种,其实我觉得并不是特别的好。
抽象在C#中是类的一种表现。
如果将类作为多态,那么前面所有的东西不就白费了吗?
C#的 抽象很简单。 那就是抽象。 基本就是高度抽象。
那么什么是抽象呢?
比如说
人,人就是高度的抽象。你基本能想到的名词基本都可以说是抽象的。
C#的抽象就是如此。
我们先以人作为例子介绍一下抽象的类的基本使用:
abstract class Human { public abstract void Think(); public abstract int Age { get; set; } } class Iam : Human { public override int Age { get ; set ; } public override void Think() { } }
Human类是一个抽象类。
因为Human 类的关键字是abstract 【我们没见过...】
很明显,抽象类也是和继承一起使用的。
但是! 抽象类是必须需要继承的。 因为抽象类无法自我实例化。
为什么说抽象类无法实例化。
比如 东西 是一个抽象吧。那么东西自己实例化会是什么? 不知道吧。必须有什么东西继承了东西,好比杯子,杯子也是一个东西。你单说东西谁知道是什么东西。只有具体到某一样时候才知道是什么。
接着看,在抽象类中还有抽象方法,因为某一个东西,比如说桌子,肯定有桌面,那么这个桌面也可以是抽象的,这桌面是桌子的方法,至于桌面具体是什么样子的那就是子类继承之后自己进行实现。
所以说抽象类有以下特点:
1 抽象类无法实例化
2 抽象类的中的抽象方法必须通过子类继承实现
3 抽象方法中无法实现代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现