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

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

     我的理解C#中的抽象類是將某些類都具備的一些特性收集起來。而後再用這個抽象類來定義一些子類。固然這些子類能夠本身再擴充一些私有的屬性和方法。好比 正方形和長方形他們都具備的屬性是面積,周長等屬性。可是他們又有一些不一樣的屬性和方法,好比長方形有長和寬。正方形只有一個邊長。他們各自的面積和周長 的計算方法也不同。下面就舉例來講明。上代碼。。。spa

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();
        }
    }
}對象

相關文章
相關標籤/搜索