7.C#知识点:抽象类和接口浅谈

知识点目录==========>传送门

 

先是介绍如何是抽象类?

抽象类用关键字abstract修饰的类就是叫抽象类,抽象类天生的成效就是被一连的,所以无法实例化,只可以被三番五次。而且 abstract
关键字不可能和sealed一起行使,因为sealed是不允许继承,那样就是抽象类的意思争辨了。

    public abstract class Test
    {


    }

  现在大家了然知道了抽象类长的哪些了,上面要知道抽象类是干嘛用的。顾名思义把对象共有的事物抽象出来。比如猫和和狗鸟等都有眼睛,都有嘴巴。那大家就可以抽象出一个动物类。把眼睛和嘴巴放到那那一个公共的部分虚幻到动物类里里面。用来对接轨于动物类的子类举行约束。下次在有一个狗。只要继续于动物类那么狗必须兑现眼睛和嘴巴。

C# 1

 Dog类
继承了
Animal抽象了。VS提醒大家并未达成抽象类Animal类的多个方法。因此可以看看抽象类是对子类的封锁。说白了。抽象类就是对子类的用空想来安慰自己,即将子类中的公共部分提取出来,放到一个特定的类中。抽象类是一份合同,用于为同样体系(那里类型不是指数据类型,而是逻辑上的细分,如人和猫都是动物)的子类提供约束。约束他们的国有部分。

 现在来计算下抽象类。

1.抽象类的概念必要abstract关键字

2.抽象类的存在的意思就是被持续的。所以不可能实例化,不可能与sealed关键字一起用。

3.抽象类允许存在非抽象方法和抽象方法。

C#,4.抽象类的抽象成员,子类必须兑现。

在来探望接口,接口和抽象类很多概念一般。接口的创导要用到interface,接口出现的意义也是被接续。也不能与sealed关键字一起用

    public interface Animal
    {
        void Run();
        void Say();
    }

接口的和抽象类作用雷同,也是架空公共部分。

C# 2

 从逻辑上与抽象类区分的话。总括成一句话。就是接口约束子类对象的一颦一笑。抽象类是将同样类型类的共用部分提取出来,进行约束。注意那里的等同品种不是数据类型而是逻辑上的,比如人和啊猫啊狗都是动物。

来计算下互相的分别

1.学过C#的都清楚类只可以单继承,接口可以多三番三回。这一个就是抽象类和接口的第三个界别。

2.接口无法包括已经落到实处成员,可是抽象类是可以的

3.接口的成员默许1兑现是public的,可是抽象类的分子可以被访问修饰修饰可是不可以是个人的。

4.抽象类多用于约束对象的骨干基础成员,接口对于用于约束子类的表现。比如类型有何行为(方法)。

5.接口分子若是改动的话,已毕子类全体都要改成,抽象只有空虚成员变动了子类才要转移。

6.接口不允许定义字段,抽象允许定义字段,不过不容许定义抽象字段。

 C# 3

最有精华的两句话

  • 抽象类和接口都是一种约束,那种约束使我们的代码有更好的层次结构,越发是在三人一齐开发时(若每个人都遵守自己的习惯来,对全体开发组织而言,开发开支不知要增加多少)。

  • 抽象类是对同样序列(不是数据类型)子类公共部分的用空想来欺骗别人(约束),接口是对能力的一种约束

参照的大牛的博客——>传送门

 

相关文章