码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-11-06 14:22:34      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace Test07
 7 {
 8     /****************************************************
 9      * 
10      * 示例代码
11      * ***************************************************/
12     //public abstract class myClass
13     //{
14     //    private int r = 0;
15     //    /// <summary>
16     //    /// 圆半径
17     //    /// </summary>
18     //    public int R
19     //    {
20     //        get
21     //        {
22     //            return r;
23     //        }
24     //        set
25     //        {
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 Program
45     //{
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     //}
54 
55 
56     /****************************************************
57  * 
58  * 我的代码
59  * ***************************************************/
60     public abstract class myClass 
61     {
62         private int r;
63         public int R 
64         {
65             get { return r; }
66             set { r = value; }
67         }
68         public abstract double Area();
69     }
70     public  class Driveclass : myClass 
71     {
72         public override double Area() 
73         {
74             return Math.PI * R * R;
75         }
76     }
77     class Program 
78     {
79         static void Main(string[] args) 
80         {
81             Driveclass driveclass = new Driveclass();
82             myClass myclass = driveclass;
83             driveclass.R = 1;
84            
85             Console.WriteLine("圆的面积是"+ driveclass.Area());
86         }
87     }
88 }

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

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

标签:

原文地址:http://www.cnblogs.com/liuyaozhi/p/4942286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!