2.清单9-2. 带有重载方法的派生类:Line.cs, Circle.cs, and Square.cs |
using System; public class Line : DrawingObject { public override void Draw() { Console.WriteLine("I'm a Line."); } }
public class Circle : DrawingObject { public override void Draw() { Console.WriteLine("I'm a Circle."); } }
public class Square : DrawingObject { public override void Draw() { Console.WriteLine("I'm a Square."); } } |
清单9-2定义了三个类。这三个类都派生自DrawingObject类。每个类都有一个同名Draw()方法,这些Draw()方法中的每一个都有一个重载修饰符。重载修饰符可让该方法在运行时重载其基类的虚方法,实现这个功能的条件是:通过基类类型的指针变量来引用该类。
3.清单9-3. 实现多态性的程序:DrawDemo.cs |
using System; public class DrawDemo { public static int Main(string[] args) { DrawingObject[] dObj = new DrawingObject[4]; dObj[0] = new Line(); dObj[1] = new Circle(); dObj[2] = new Square(); dObj[3] = new DrawingObject(); foreach (DrawingObject drawObj in dObj) { drawObj.Draw(); } return 0; } } |
 
2/2 首页 上一页 1 2 |