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 抽象方法中无法实现代码

 

posted @   ARM830  阅读(222)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示