using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication8 { class Program { static void Main(string[] args) { Circle c= new Circle(10);///此处设断点可以清楚地看清多态的实现。 Console.WriteLine("圆的面积是 {0:F}", c.GetArea()); Square s = new Square(10); Console.WriteLine("正方形的面积是 {0:F2}", s.GetArea()); Console.ReadLine(); } } public class Shape { public const double pi = Math.PI; protected double innerx, innery; public Shape() { } public Shape(double x, double y) { this.innerx = x; this.innery = y; } public virtual double GetArea() { return innerx * innery; } } public class Circle : Shape { public Circle(double r) : base(r, 0) { } public override double GetArea() { return pi * innerx * innerx; } } class Square : Shape { public Square(double w) : base(w, w) { } public override double GetArea() { return base.GetArea(); } } } 上面可以清楚地看到多态的实现,能利用基类的用base,不能用基类的自己实现。