程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 自定義一個抽象類,用來計算圓的面積,自定義計算圓的面積

自定義一個抽象類,用來計算圓的面積,自定義計算圓的面積

編輯:C#入門知識

自定義一個抽象類,用來計算圓的面積,自定義計算圓的面積


 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 }

 經過調試發現,在實例化派生類之後,使用派生類對象實例化抽象類後,直接用實例化的派生類對象訪問抽象類的半徑屬性或使用實例化的派生類對象調用派生類方法皆可,

畢竟繼承自抽象類的派生類可以訪問抽象類裡面的屬性

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved