抽象類的使用方法

歡迎來到unity學習unity培訓unity企業培訓教育專區,這裏有很多U3D資源U3D培訓視頻U3D教程U3D常見問題U3D項目源碼,我們致力於打造業內unity3d培訓學習第一品牌

今天學習了關於抽象類的使用

抽象類的基本定義:

      使用關鍵字 abstract 來定義抽象類和抽象方法。

      不能初始化的類被叫做抽象類,它們只提供部分實現,但是另一個類可以繼承它並且能創建它們的實例。

      使用abstract 在一個類聲明中表示該類傾向要作爲其它類的基類成員被標示成abstract,或被包含進一個抽象類,必須被其派生類實現。

抽象類的特徵:

      1、抽象類不能被實例化。

      2、抽象類可以包含抽象方法和訪問器

      3、不能把抽象類用密封(sealed)來修飾,那就意味着類不能被繼承,這違反抽象類被繼承的原則。

      4、抽象類的非抽象子類必須實現其繼承的所有抽象方法和抽象訪問器

      5、通過聲明派生類也爲抽象,我們可以避免所有或特定的虛方法的實現,這就是抽象類的部分實現。

例:abstract class ShapesClass(定義一個抽象類在類前加abstract這個類就會成爲抽象類

     {

        abstract public int Area();

     }

    class Square : ShapesClass

    {

        int x, y;

 

        public override int Area()(使用override接受抽象類的變量

        {

            return x * y;

        }

    }

抽象類的部分實現:

      一個抽象類可以包含抽象和非抽象方法,當一個類繼承於抽象類,那麼這個派生類必須實現所有的的基類抽象方法,若子類只想實現部分父類的方法,可以通過聲明派生類也爲抽象,來實現。

例:

abstract class MyAbs

    {

        public abstract void AbMethod1();

        public abstract void AbMethod2();

    }

 

abstract class MyClass1 : MyAbs

    {

        public override void AbMethod1()

        {

            Console.WriteLine("Abstarct method #1");

        }

    }

class MyClass : MyClass1

    {

        public override void AbMethod2()

        {

            Console.WriteLine("Abstarct method #2");

        }

    }

    class MyClient

    {

        public static void Main()

        {

            MyClass mc = new MyClass();

            mc.AbMethod1();

            mc.AbMethod2();

        }

    }

      在抽象類中不能使用sealed,因爲一個密封類不能夠被抽象。

  更多精彩請看:http://www.gopedu.com/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章