C# abstract

抽象方法,声明示例:

1.        public abstract int GetA(int a);

注意:抽象方法申明没有方法体,即没有大括号,以分号结束。

抽象方法(属性),具有以下特性:

1.       抽象方法是隐式的虚方法。(默认是virtual类型,但不能显示申明为virtual,子类中实现抽象方法时必须加override关键字)

2.       只允许在抽象类中使用抽象方法声明。(抽象方法必须在抽象类中实现,但是抽象类可能没有抽象方法)

3.       在抽象方法声明中使用 static 或 virtual 修饰符是错误的。

抽象类,示例:

1.       //By Alan Liao,2008-10-23  

2.       abstract class A 

3.           {

4.               public abstract int GetA(int a);

5.           }

6.        

7.           class B : A

8.           {

9.               public override int GetA(int a)

10.             {

11.      

12.                 return a + 1;

13.             }

14.         }

抽象类,具有以下特性:

1.       抽象类不能实例化。例如上面的例子中, A a = new A()  是非法的,而Aa = new B()是可以的 

2.       抽象类可以包含抽象方法,也可以不包含。

3.       不能用 sealed修饰符修改抽象类,这意味着抽象类不能被继承。这样毫无意义。

4.       抽象类的子类可以为抽象类,如果不为抽象类,必须实现父类中所有抽象方法。

注意:抽象类是提取具体类的公因式,而接口是为了将一些不相关的类“杂凑”成一个共同的群体。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值