2014年1月20日 星期一

[物件導向] 物件導向基礎複習 類別~


先不管封裝,皆先用public...

術語

  英文 
  
 中文  類似概念  舉例
 class   類別  類別:請視為→設計圖
或看成→自訂的型別
(下定義、分門別類)
 
ex:定義"人 "類別..
  
  
 property   屬性   名詞
語法似C語言的變數

人有:
性別,生日,身高,體重,...

 method   方法 
 動詞
也有翻譯成:行為
語法似C語言的function
人會:
跑,跳,吃,喝,...

 object 
  
 物件   屬於該類別的實體
張三,李四,志明,春嬌,...


新增類別step:
方案總管:專案圖示上點右鍵

[加入]->[新增項目]->[類別](取名)


新增 Student 類別後,則出現 Student.cs 檔案
先來設計、撰寫 Student 類別,撰寫它的屬性與方法
Student.cs 添加以下內容
namespace example
{
    class Student
    {
        // Property 屬性
        public int grade; // 幾年級
        public string name; // 姓名

        // Method 方法
        public string Say() // 說:自我介紹
        {
            return "我叫" + name + ",我是" + grade + "年級";
        }

        public string Talk(Student s) // 有輸入:Student
        {
            return grade + "年級的" + name + "對" + s.name + "說早安~";
        }

        public void Upgrade() // 升高一個年級
        {
            grade++;
        }
    }
}


Form1.cs 按鈕按下,測試 method
namespace example
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Student s1 = new Student(); // 新增物件
            s1.grade = 1;               // 設定屬性
            s1.name = "張三";
            Student s2 = new Student();
            s2.grade = 2;
            s2.name = "李四";

            // 方法測試1
            MessageBox.Show(s1.Say());
            MessageBox.Show(s1.Talk(s2));

            // 方法測試2
            MessageBox.Show(s1.Say());
            s1.Upgrade();
            MessageBox.Show(s1.Say());
        }
    }
}



新增物件語法:
Student s1 = new Student();
 類別 物件 = new 類別();

存取物件的屬性、
使用物件的方法:
在object(物件)後面加小數點,
來存取物件的 property(屬性) 跟 method(方法)。

沒有留言: