每天上班时间一到,相当于发了一条这样的命令:
“员工们.开始上班”(同一条表达式)
每个员工接到这条命令(同样的命令)后,就“开始上班”,但是他们做的是各自的工作,程序员就开始“Coding”,业务员就开始“联系业务”,文管员就开始“整理文档”。即“相同的表达式(函数调用),(在运行期根据不同的对象来执行)不同的操作”。
从语言实现多态的角度来说,多态是通过基类指针或引用指向派生类的对象,调用其虚方法实现的。下面是Object Pascal语言的实现
TEmployee=class //把员工抽象为一个抽象类
public
procedure startWorking;virtual;abstract;
{抽象函数(即C++中纯虚函数),什么也不做,实际的意义是,先预留一个接口。在其派生类中覆载实现它。}
end;
TProgramer=class(TEmployee) //程序员
public
procedure startWorking;override;
end;
TBusinessMan=class(TEmployee) //业务员
public
文章来源于领测软件测试网 https://www.ltesting.net/