1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Linq;4usingSystem.Text;56namespaceTest077{8/****************************************************9*10* 示例代码11* ***************************************************/12//public abstract class myClass13//{14//PRivate int r = 0;15///// <summary>16///// 圆半径17///// </summary>18//public int R19//{20//get21//{22//return r;23//}24//set25//{26//r = value;27//}28//}29///// <summary>30///// 抽象方法,用来计算圆面积31///// </summary>32//public abstract double Area();33//}34//public class DriveClass : myClass//继承抽象类35//{36///// <summary>37///// 重写抽象类中计算圆面积的方法38///// </summary>39//public override double Area()40//{41//return Math.PI * R * R;42//}43//}44//class Program45//{46//static void Main(string[] args)47//{48//DriveClass driveclass = new DriveClass();//实例化派生类49//myClass myclass = driveclass;//使用派生类对象实例化抽象类50//myclass.R = 3;//使用抽象类对象访问抽象类中的半径属性51//Console.WriteLine("圆面积为:" + myclass.Area());//使用抽象类对象调用派生类中的的方法52//}53//}545556/****************************************************57*58* 我的代码59* ***************************************************/60publicabstractclassmyClass61{62privateintr;63publicintR64{65get{returnr; }66set{ r =value; }67}68publicabstractdoubleArea();69}70publicclassDriveclass : myClass71{72publicoverridedoubleArea()73{74returnMath.PI * R *R;75}76}77classProgram78{79staticvoidMain(string[] args)80{81Driveclass driveclass =newDriveclass();82myClass myclass =driveclass;83driveclass.R =1;8485Console.WriteLine("圆的面积是"+driveclass.Area());86}87}88}
经过调试发现,在实例化派生类之后,使用派生类对象实例化抽象类后,直接用实例化的派生类对象访问抽象类的半径属性或使用实例化的派生类对象调用派生类方法皆可,
毕竟继承自抽象类的派生类可以访问抽象类里面的属性