定义格式:
abstract class 类名{
.....
}
抽象类的使用规定:
1.抽象类只能作为其他类的基类,它不能直接被实例化。
2.抽象类允许包含抽象成员,但不是必须的。若有抽象成员也要用abstract修饰符修饰。
3.抽象类不能同时又是密封的。
4.抽象类的基类也可以是抽象类。
5.如果一个非抽象类的基类是抽象类,那么必须要通过覆盖来实现所有继承而来的抽象方法,包含其基类中的抽象方法,和(如果该抽象基类从其他抽象类派生,还应包括其他抽象类中的所有抽象方法)。
abstract class A{
.....
protected double x=0,y=0;
public A(double a, double b){
....
}
public abstract void area(); //抽象方法,不能有方法体
}
class S:A
{
public S(double a, double b):base(a,b){}
public override void area() { //不能有new,必须用overrride
Console.WriteLine(x*y);
}
}