自定义一个抽象类,用来计算圆的面积

王朝学院·作者佚名  2016-08-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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}

经过调试发现,在实例化派生类之后,使用派生类对象实例化抽象类后,直接用实例化的派生类对象访问抽象类的半径属性或使用实例化的派生类对象调用派生类方法皆可,

毕竟继承自抽象类的派生类可以访问抽象类里面的属性

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航