C#虚方法实现多态:
多态即程序对不同类型的实例采用不同的处理方法,实现多态的好处有以下:
多态的作用:
1. 应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。//继承
2. 派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。 //多态的真正作用,以前需要用switch实现
3.必要条件:
多态的三个必要条件:
1、要有继承(实现implements)
2、要有重写(overWrite&overRide)
1. 应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。//继承
2. 派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。 //多态的真正作用,以前需要用switch实现
3.必要条件:
多态的三个必要条件:
1、要有继承(实现implements)
2、要有重写(overWrite&overRide)
代码实现:
namespace @virtual
{
class Program
{
static void Main(string[] args)
{ employee[] dl = new employee[2];
dl[0] = new manager("张三");
dl[1] = new secretary("李怡");
foreach(employee ds in dl)
{
ds.startwork();
}
}
}
class employee
{ public string name;
public employee (string name)
{
this.name = name;
}
public employee()
{
}
public virtual void startwork()
{
Console.Write(name + "的工作是:");
}
}
class manager : employee
{
public manager(string name) : base(name)
{
}
public override void startwork()
{
base.startwork();
Console.WriteLine("处理公司主要事物");
}
}
class secretary:employee
{
public secretary(string name) : base(name)
{ }
public override void startwork()
{
base.startwork();
Console.WriteLine("协助经理工作");
}
}
}

