關於在C#中對抽象類的理解


     先說一下自己對類的理解吧。類就是指將一系列具有一些共同特性的事物歸納起來,按照不同的特性分為不同的類。比如在現實世界中人是一類,動物是一類。植物 又是一類。但他們都是生命這一類的派生類。他們都繼承了生命類的一些特性。但他們各自又有一些不同的屬性。在計算機世界中也有這樣的類。類這一特性在面向 對象的語言中就有很好的體現。

     個人理解C#中的抽象類是將某些類都具有的一些特性收集起來。然后再用這個抽象類來定義一些子類。當然這些子類可以自己再擴充一些私有的屬性和方法。比如 正方形和長方形他們都具有的屬性是面積,周長等屬性。但是他們又有一些不同的屬性和方法,比如長方形有長和寬。正方形只有一個邊長。他們各自的面積和周長 的計算方法也不一樣。下面就舉例來說明。上代碼。。。

using System;
namespace ab_cl
{
    abstract class shape//定義一個抽象類( 要使用關鍵字abstract,不同於普通類的定義)
    {
        double area; //定義一個成員(面積)
    }
    class a:shape//定義一個長方形的類
    {
      private double length;//長方形的私有屬性長
      private double width;//長方形的私有屬性寬
        public a(double len, double wid)//定義一個帶參的構造函數。主要用於長,寬的賦值
        {
            length = len;
            width = wid;
        }
        public double area()//用於計算長方形的面積
        {
            return length * width;
        }
        public double zhouchang()//用於計算長方形的周長
        {
            return (length + width) * 2;
        }
    }
    class b : shape//定義一個正方形的類
    {
      private double width;//定義正方形的私有屬性邊長
        public b(double wid)//定義一個帶參的構造函數。主要用於邊長的賦值
        {
            width = wid;
        }
        public double area()//計算正方形的面積
        {
            return width*width;
        }
        public double zhouchang()//用於計算正方形的周長
        {
            return width * 4;
        }
    }
    class c
    {
        static void Main()//入口函數
        {
            a t = new a(2.5, 1.2);//將長方形這個類實例化為對象
            b t1 = new b(2.5);//將正方形這個類實例化為對象
            Console.WriteLine("C#中抽象類的應用:");
            Console.WriteLine("長方形的面積是:{0}", t.area());
            Console.WriteLine("長方形的周長是:{0}", t.zhouchang());
            Console.WriteLine("正方形的面積是:{0}",t1.area());
            Console.WriteLine("正方形的周長是:{0}", t1.zhouchang());
            Console.ReadKey();
        }
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM