抽象方法,声明示例:
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. 抽象类的子类可以为抽象类,如果不为抽象类,必须实现父类中所有抽象方法。
注意:抽象类是提取具体类的公因式,而接口是为了将一些不相关的类“杂凑”成一个共同的群体。