1 namespace Test 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 //作業:橡皮rubber鴨子、木wood鴨子、真實的鴨子realduck。 8 //三個鴨子都會游泳,而橡皮鴨子和真實的鴨... ...
1 namespace Test 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 //作業:橡皮rubber鴨子、木wood鴨子、真實的鴨子realduck。 8 //三個鴨子都會游泳,而橡皮鴨子和真實的鴨子都會叫, 9 //只是叫聲不一樣,橡皮鴨子“唧唧”叫,真實地鴨子“嘎嘎”叫,木鴨子不會叫. 10 11 Duck dk = new RealDuck(); 12 dk.Swim(); 13 IBark ib = new RealDuck(); 14 ib.Bark(); 15 Console.ReadKey(); 16 } 17 } 18 //為抽象類 19 public abstract class Duck 20 { 21 public abstract void Swim(); 22 } 23 //介面 24 public interface IBark 25 { 26 void Bark(); 27 } 28 29 public class RealDuck : Duck, IBark 30 { 31 public void Bark() 32 { 33 Console.WriteLine("真的鴨子嘎嘎叫"); 34 } 35 36 public override void Swim() 37 { 38 Console.WriteLine("真的鴨子會游泳"); 39 } 40 } 41 42 public class MuDuck : Duck 43 { 44 public override void Swim() 45 { 46 Console.WriteLine("木頭鴨子也會游泳"); 47 } 48 } 49 50 public class XPDuck : Duck, IBark 51 { 52 public void Bark() 53 { 54 Console.WriteLine("橡皮鴨子唧唧叫"); 55 } 56 57 public override void Swim() 58 { 59 Console.WriteLine("橡皮鴨子也會游泳"); 60 } 61 } 62 }