物件導向系列菜單 1-『 基本概念 』
c井字號 物件導向
Lastmod: 2019-12-11

物件導向基本概念為『類別』與『物件』 基本上保哥這篇文章已經寫的很清楚了保哥 (保哥),但知識的學習還是要經過自已的腦袋與手加眼睛,所以小弟我也用自已的意思來表達這兩個東西的概念。

類別

小弟是把類別想成是『汽車藍圖』,它定義好了汽車的屬性與方法, 但它沒有實體(Instance),也就是說,你必須實作這張汽車藍圖它才能產生實體(可以開的車~)。

 	class Car
   	{
        //定義車子的速度欄位
        public int Speed;
        //車子的顏色欄位
        public string Color;

        //定義車子移動的方法
        public string DriveCar()
        {
            return "正在開『" + Color + "』的車" + "時速『" + Speed.ToString() + "』在移動";
        }
    }

物件

就是實際做出來的車。以程式術語來說,運用汽車藍圖做出車的過程就是所謂的 『實體化』系統會自動給予物件記憶體。以下為實體化的C#程式碼。

	//實體化Car類別為MyCar物件,並設定欄位Speed為100、Color為Red
	Car MyCar = new Car { Speed = 100, Color = "red" };
	TextBox1.Text = MyCar.DriveCar();
	
	
	red100

ScreenClip.png


建構子或建構函式 ( constructor )

其中Car MyCar = new Car ,即為產生一個名叫MyCarCar實體。 new Car 除了產生實體,它還會幫你呼叫一個名為Car()的方法。該方法就是所謂的建構子(constructor)。

但我並沒有定義Car()方法, C#預設會自動產生一個同名的方法,稱為建構子或建構函式(constructor) 而你自已也可以定義。建構子主要的目的為『幫助實體化時設定初始值』

        /// 
        /// 定義建構子,預設Speed為50,Color為Blue
        /// 
        public Car()
        {
            Speed = "50";
            Color = "Blue";
       
      
  		Car MyCar = new Car();
  		TextBox1.Text = MyCar.DriveCar();
		
		
		Blue50

參考資料

comments powered by Disqus