get {
14 Console.Read();
6.2.3 物件初始設定式 物件初始設定式 物件初始設定式 物件初始設定式
當使用 當使用當使用
當使用 new 建立物件建立物件建立物件建立物件,,,此,此此時會此時會時會呼叫指時會呼叫指呼叫指定的呼叫指定的定的定的 多載建構函式
多載建構函式多載建構函式 多載建構函式 若
若若
若初始初始初始化物件的屬性初始化物件的屬性化物件的屬性很化物件的屬性很很多很多多,多,,要定義多個多載,要定義多個多載要定義多個多載要定義多個多載 建構函式建構函式建構函式
建構函式。。。。 如
如如
如::::Employee 員員員員工工工工類別類別類別含類別含含含有有有有::::
EmpID 編號編號、編號編號、、、EmpName 姓姓名姓姓名名、名、、、EmpTel 電話電話電話電話、、、、
EmpAdd 住址住址住址住址以及以及以及以及 EmpSalary 薪水薪水薪水薪水屬性屬性屬性屬性 希望希望希望
希望建立物件同時可建立物件同時可建立物件同時可建立物件同時可初始初始初始初始化員化員化員化員工工工工物件物件物件物件0~5個個個個 屬性內屬性內屬性內
屬性內容容容容,,,,最少要定義下面最少要定義下面最少要定義下面最少要定義下面六六六六個個個個 Employee
建構函式 建構函式建構函式
建構函式,,,且在,且在且在初始且在初始初始化物件屬性內初始化物件屬性內化物件屬性內容化物件屬性內容容會變得容會變得會變得會變得 非
非非
非常麻煩常麻煩常麻煩。常麻煩。。。
42
簡例示 簡例示 簡例示
簡例示範範範範如如如如何何何何使用物件使用物件使用物件使用物件初始初始初始初始設定式來設定式來設定式來設定式來初始初始初始初始化化化化 Employee 類別物件的類別物件的類別物件的類別物件的
- EmpID編號編號編號編號
- EmpName姓姓姓名姓名名名 - EmpTel電話電話電話電話 - EmpAdd住址住址住址住址 - EmpAdd
- EmpSalary薪薪薪薪資資資資 的內的內
的內的內容容容,容,,,完完完完全全全全不需用類別建構函式來不需用類別建構函式來不需用類別建構函式來不需用類別建構函式來初始初始初始初始化物件的化物件的化物件的化物件的 屬性值
屬性值 屬性值 屬性值。。。。
44
將上面簡例寫成一個完整的範例 將上面簡例寫成一個完整的範例將上面簡例寫成一個完整的範例
將上面簡例寫成一個完整的範例,,,並練習使用,並練習使用並練習使用「並練習使用「「物件初始設定式「物件初始設定式物件初始設定式」物件初始設定式」」的」的的的 宣告方式來初始化物件的屬性值
宣告方式來初始化物件的屬性值宣告方式來初始化物件的屬性值 宣告方式來初始化物件的屬性值。。。。 定義定義定義
定義Employee員工類別擁有員工類別擁有員工類別擁有員工類別擁有EmpID編號編號編號、編號、、EmpName姓名、 姓名姓名、姓名、、、
EmpTel電話電話電話電話、、、、EmpAdd住址欄位以及住址欄位以及住址欄位以及EmpSalary薪水屬性住址欄位以及 薪水屬性薪水屬性,薪水屬性,,,並定義並定義並定義並定義 EmpSalary屬性的值不可小於屬性的值不可小於屬性的值不可小於屬性的值不可小於20000;;;定義;定義定義ShowInfo()方法用來顯示定義 方法用來顯示方法用來顯示方法用來顯示 員工的所有資訊
員工的所有資訊員工的所有資訊 員工的所有資訊。。。。
Main() MoMo( )
最後在 最後在最後在
最後在Main()方法使用物件初始設定式來初始化方法使用物件初始設定式來初始化方法使用物件初始設定式來初始化方法使用物件初始設定式來初始化MoMo(莫莫莫莫莫莫)及莫莫 及及及 Dora(朵拉朵拉朵拉朵拉)兩個員工物件兩個員工物件兩個員工物件兩個員工物件,,,,最後再將這兩位員工的資料顯示出來最後再將這兩位員工的資料顯示出來最後再將這兩位員工的資料顯示出來最後再將這兩位員工的資料顯示出來。。。。
Step1新增專案新增專案新增專案新增專案
新增主控台應用程式專案 新增主控台應用程式專案 新增主控台應用程式專案
新增主控台應用程式專案,,,名稱設為,名稱設為名稱設為名稱設為ObjectSetValue。。。。 Step2 建立建立建立建立
Employee
類別類別類別類別執行功能表的 執行功能表的 執行功能表的
執行功能表的【【【專案【專案專案(專案 P)/加入類別加入類別加入類別(加入類別 C)…】】】指令】指令指令新增指令新增新增新增
上機
執行功能表的 執行功能表的 執行功能表的
執行功能表的【【【專案【專案專案(專案 P)/加入類別加入類別加入類別(加入類別 C)…】】】指令】指令指令新增指令新增新增新增
「
「
「
「Employee.cs」」類別檔」」類別檔類別檔。類別檔。。。 在
在 在
在 Employee.cs 撰寫下撰寫下列撰寫下撰寫下列列列程式碼程式碼程式碼程式碼::::
46
// FileName : Employee.cs
01 namespace ObjectSetValue 02 {
03 class Employee 04 {
05 public string EmpID { set; get; } 06 public string EmpName { set; get; } 07 public string EmpTel { set; get; } 08 public string EmpAdd { set; get; } 08 public string EmpAdd { set; get; } 09 private int _Salary;
10 public int EmpSalary 11 {
12 get 13 {
14 return _Salary;
15 }
16 set 17 {
18 if (value <= 20000) value = 20000;
19 _Salary = value;
20 } 21 }
22 //顯示員工資訊顯示員工資訊顯示員工資訊顯示員工資訊
23 public void ShowInfo() 24 {
24 {
25 Console.WriteLine("編號編號編號編號:::{0}", EmpID);: 26 Console.WriteLine("姓名姓名姓名姓名:::{0}", EmpName);: 27 Console.WriteLine("電話電話電話電話:::{0}", EmpTel);: 28 Console.WriteLine("住址住址住址住址:::{0}", EmpAdd);:
29 Console.WriteLine("薪資薪資薪資薪資:::{0}", EmpSalary.ToString());: 30 Console.WriteLine("===========================");
31 } 32 } 33 }
48
Step3 撰寫 撰寫 撰寫Main()方法 撰寫 方法 方法 方法
// FileName : Program.cs
01 namespace ObjectSetValue 02 {
03 class Program 04 {
05 static void Main(string[] args) 06 {
07 Employee MoMo = new Employee { EmpID = "A01", EmpName = 07 Employee MoMo = new Employee { EmpID = "A01", EmpName =
"莫莫莫莫莫莫莫莫", EmpAdd = "台中市中山路一段台中市中山路一段台中市中山路一段1號台中市中山路一段 號號", EmpTel = "04-7895642",號 EmpSalary = 30000 };
08 Employee Dora = new Employee { EmpID = "A02", EmpName ="朵拉朵拉朵拉朵拉", EmpAdd ="台北市南港路一段台北市南港路一段台北市南港路一段台北市南港路一段2號號號", EmpTel ="02-1234567",號
EmpSalary =10000 };
09 MoMo.ShowInfo();