C#2.屬性心得

屬性的本質:就是對類中的變量的屬性(只讀、只寫、讀寫)進行控制。

屬性也可以看成“變量”。

1.     普通屬性

    class A {

        privateint a;

        privateint b;

        public int aA

        {

            get{

                returna;//可以return表達式或者其他

            }

            set

            {

                a = value;//value就是屬性賦值時,右邊的值

            }

        }

        public int aB {

            set{

                b = value;

            }

        }

}

MAIN

A mya = new A();

mya.aA = 3;//隱式調用了set{}

System.Console.WriteLine(mya.aA);//隱式調用了get{}

2.     抽象屬性

public abstract class A {

        public abstract int aA

        {

           get;

           set;

        }

    }

    public class B : A

    {

        private int f;

        public override int aA {

           get {

               return f;

           }

           set {

               f = value;

           }

        }

    }

    class Program

    {

        static void Main(string[] args)

        {

           A mya = newB();

           mya.aA = 3;

           System.Console.WriteLine(mya.aA);

        }

}

條件:

1.  基類必須爲抽象基類

2.  基類中的屬性必須是抽象的

3.  子類中的定義屬性是必須有override

可以看出,抽象屬性定義在抽象類中,它不與變量關聯。和多態類似,相當於使得:父類擁有可以訪問或修改子類變量的權利。或者說,給父類增加一個“變量”。

發佈了45 篇原創文章 · 獲贊 32 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章