C# - 多态性

abstract (抽象类,抽象方法)      override(负责重写)

 对抽象类中的抽象方法进行重写。

仔细研究代码:

 

代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace 多态
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             //A a = new A();
14             //a.Show();
15 
16             //B b = new B();
17             //b.Show();
18 
19             //C c = new C();
20             //c.Show();
21 
22             //D d = new D();
23             //d.Show();
24 
25             A[] a = { new B(), new C(), new D()};
26 
27             foreach (A item in a)
28             {
29                 item.Show();
30             }
31 
32             Console.ReadKey();
33         }
34     }
35 
36 
37 
38     public abstract class  A
39     {
40         //使用抽象类,抽象方法,方法不能声明主体(也就是具体实现部分)
41         public abstract void Show();
42     }
43 
44     public class B : A 
45     {
46         public override void Show()
47         {
48             Console.WriteLine("我是B!");
49         }
50     }
51 
52     public class C : A
53     {
54         public override void Show()
55         {
56             Console.WriteLine("我是C!");
57         }
58     }
59 
60     public class D : A
61     {
62         public override void Show()
63         {
64             Console.WriteLine("我是D!");
65         }
66     }
67 }

 

posted on 2015-05-24 13:59  ultrastrong  阅读(214)  评论(0编辑  收藏  举报