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