抽象類是類的基礎形態
比如 人是一個基礎類 也是個抽象類
可以根據人 實現 男人和女人類
接口 是一組方法的集合
比如人 實現了一個基本的方法為 玩
男人 玩球 玩電腦
女人 玩手機 玩游戲。
那么玩就是一個接口 可以獨立抽象出來
只要去 玩 那么不管你玩什么都可以運行。
好了上干貨 ,我們來實現這個
1 //實現玩 接口 2 interface Iplay 3 { 4 void Play(); 5 } 6 //基類,抽象類 7 public abstract class Per:Iplay 8 { 9 //保護型 只能在繼承類中使用 10 protected string name; 11 12 //公開性 全部可以訪問 13 public abstract string Name { get; set; } 14 15 //抽象 玩接口 16 public abstract void Play(); 17 18 //在基類中實現全部繼承類中都可以使用的方法 19 protected string Sex { get { if (Sex == null) { return "男性"; } else { return this.Sex; } } set; } 20 } 21 //男人類 22 class Man : Per 23 { 24 25 26 public override void Play() 27 { 28 Console.WriteLine(Name +Sex+ "玩游戲"); 29 //throw new NotImplementedException(); 30 } 31 32 protected override string Name 33 { 34 get 35 { 36 return this.name; 37 38 } 39 set 40 { 41 this.name = value; 42 43 } 44 } 45 } 46 47 //女人類 48 class Women : Per 49 { 50 51 public override string Name 52 { 53 get 54 { 55 return this.name; 56 } 57 set 58 { 59 this.name = value; 60 } 61 } 62 63 public override void Play() 64 { 65 Console.WriteLine(Name + this.Sex + "玩電腦"); 66 //throw new NotImplementedException(); 67 } 68 }
最后是使用方法
1 [STAThread] 2 static void Main() 3 { 4 Application.EnableVisualStyles(); 5 Application.SetCompatibleTextRenderingDefault(false); 6 7 8 Man m = new Man(); 9 m.Name = "男人"; 10 m.Play(); 11 }