c#抽象类

hello,我又来了,,,想必大家都对抽象类不是很懂,,我之前就是不懂什么抽象类,,,,子类,父类啊,,这种专业术语,后来慢慢懂了,

我觉得抽象类的使用时因为设计模式吧!(纯属个人的意见)实现c#oop思想中的多态(重载、重写、虚方法、抽象方法以及隐藏方法) 抽象类只声明,不实现。

抽象类与普通基类有什么区别?

抽象类只能被继承,不能实例化。

普通基类可以被继承,也可以被实例化。

堆代码啦!!! public abstract class People   //抽象父类。(抽象成员组成抽象类)
                     {
                         public  abstract void Peoples(string Gender);
                      }

 

   public class Grlis : People
    {
        public override void Peoples(string Gender)
        {
            Console.WriteLine("{0}是一个女人", Gender);
        }
    }
    public class Boys : People
    {
        public override void Peoples(string Gender)
        {
            Console.WriteLine("{0}是一个男人", Gender);
        }
    }

 static void Main(string[] args)
        {
          
            Grlis grlis = new Grlis();
            grlis.Peoples("小英");
            Boys boys = new Boys();
            boys.Peoples("小王");
           
        }

说明:男人是人女人也是人,那么在抽象父类中只要定义人这个方法,至于是什么人就由继承的派生类去重写了!

我们在使用抽象类的时候感觉它跟接口差不多,那这里来探讨一下他们的之间的差别吧!

抽象类与接口的区别:

1.抽象类可以有构造函数,接口没有。

2.抽象类可以声明静态函数,接口不可以。

3.抽象类可以声明实例化成员,接口只能声明抽象成员。

4.类的继承具有单一性,接口继承具有多继承性。

5.一个类只能继承一个父类,但是一个类可以继承多个接口。

6.类继承接口,就要实现它全部的方法,抽象子类继承抽象父类可以实现它部分或者0个方法。

 

posted @ 2020-06-01 17:39  Eudora_荣  阅读(182)  评论(0)    收藏  举报