同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。
实现多态的方法挺多,现在水平不够啊。
我理解的:
public class DrawingObject
{
public virtual void Draw()
{
Console.WriteLine("I'm 父类");
}
}
public class Line : DrawingObject
{
public override void Draw()
{
Console.WriteLine("I'm 子类,线");
}
}
public class Circle : DrawingObject
{
public override void Draw()
{
Console.WriteLine("I'm 子类,圆");
}
}
using System;
public class DrawDemo
{
public static int Main(string[] args)
{
DrawingObject[] dObj = new DrawingObject[3];
dObj[0] = new Line();
dObj[1] = new Circle();
dObj[2] = new DrawingObject();
foreach (DrawingObject drawObj in dObj)
{
drawObj.Draw();
}
return 0;
}
}
|