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 @ 2018-06-23 10:21  ARM830  阅读(222)  评论(0编辑  收藏  举报