- abstract class Person
- {
- public void SayHello()
- {
- Console.WriteLine("抽象类中");
- }
- public abstract void Speak();
- }//抽象类,包括一个抽象方法Speak()和一个普通方法SayHello()
- class Chinese : Person
- {
- public override void Speak()
- {
- Console.WriteLine("实现类中");
- base.SayHello();
- this.SayHello();
- }
- }//继承上面的抽象类,其实现方法中用base.SayHello()调用了抽象类中的SayHello()方法
复制代码 上述代码测试通过,无错。
问题在于,我们用base.SayHello()调用的是基类的SayHello()方法吧(因为base是基类的一个引用),但是抽象类不能被实例化,何来引用呢。即,我们不能实例化抽象类,怎么能够通过base来调用呢。 |