黑马程序员技术交流社区

标题: 继承(四)--抽象类、抽象方法 [打印本页]

作者: 马毅    时间: 2012-12-24 00:02
标题: 继承(四)--抽象类、抽象方法
    以abstract修饰的类和方法叫抽象类(方法),抽象类不能实例化,抽象函数不能包含任何实现,例如:
  1.     public abstract class Demo
  2.     {
  3.         public abstract void abs1();
  4.         public abstract void abs2();
  5.     }
复制代码
抽象函数本身是virtual的,但无须显示申明,抽象类可以包含抽象函数,也可以包含非抽象函数,我们可以给上述抽象类加上一个非抽象方法:
  1.     public abstract class Demo
  2.     {
  3.         public abstract void abs1();
  4.         public abstract void abs2();
  5.         public void Say()
  6.         {
  7.             Console.WriteLine("这是抽象类中的Say方法");
  8.         }
  9.     }
复制代码
而若一个类中有抽象函数,则该类一定抽象类,非抽象类中不能包含抽象函数,若一个类继承字抽象类,则在未全部实现基类中的抽象方法之前,其也必须是抽象的,可以如下对上面的抽象实现:
  1.     public  class demo:Demo
  2.     {
  3.         public override void abs1()
  4.         {
  5.             //
  6.         }

  7.         public override void abs2()
  8.         {
  9.             //
  10.         }
  11.     }
复制代码
注意:abstract成员也不能为私有。
其他C#基础请看这里

作者: 许庭洲    时间: 2012-12-24 06:21
值得学习ing!
作者: 李拴同    时间: 2012-12-24 08:40
嗯学习学习
作者: 高境    时间: 2012-12-24 09:52
{:soso_e179:}
作者: 高境    时间: 2012-12-24 09:53
{:soso_e179:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2