1面向對象 類:包含欄位、屬性、函數、構造函數 欄位:存儲數據 屬性:保護欄位 get set 函數:描述對象的行為 構造函數:初始化對象,給對象的每個屬性賦值 面向對象的好處:讓程式具有擴展性 類決定了對象將要擁有的屬性和行為。 1 namespace _07虛方法 2 { 3 class Pro ...
1面向對象
類:包含欄位、屬性、函數、構造函數
欄位:存儲數據
屬性:保護欄位 get set
函數:描述對象的行為
構造函數:初始化對象,給對象的每個屬性賦值
面向對象的好處:讓程式具有擴展性
類決定了對象將要擁有的屬性和行為。

1 namespace _07虛方法 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 //員工九點打卡 經理11點打卡 程式猿不打卡 8 9 // Employee emp = new Employee(); 10 //// emp.DaKa(); 11 // Manager m = new Manager(); 12 // //m.DaKa(); 13 // Programmer p = new Programmer(); 14 // //p.DaKa(); 15 16 // Employee e = m; 17 18 //Employee[] emps = { emp, m, p }; 19 //for (int i = 0; i < emps.Length; i++) 20 //{ 21 // //if (emps[i] is Manager) 22 // //{ 23 // // ((Manager)emps[i]).DaKa(); 24 // //} 25 // //else if (emps[i] is Programmer) 26 // //{ 27 // // ((Programmer)emps[i]).DaKa(); 28 // //} 29 // //else 30 // //{ 31 // // emps[i].DaKa(); 32 // //} 33 // emps[i].DaKa(); 34 //} 35 36 Employee emp = new Programmer();//new Manager(); //new Employee(); 37 emp.DaKa(); 38 39 40 Console.ReadKey(); 41 } 42 } 43 44 class Employee 45 { 46 public virtual void DaKa() 47 { 48 Console.WriteLine("員工九點打卡"); 49 } 50 } 51 52 class Manager : Employee 53 { 54 public override void DaKa() 55 { 56 Console.WriteLine("經理11點打卡"); 57 } 58 } 59 60 class Programmer : Employee 61 { 62 public override void DaKa() 63 { 64 Console.WriteLine("程式猿不打卡"); 65 } 66 } 67 }View Code