多态性在 OO 中指 “语言具有以不同方式处理不同类型对象的能力”,但 PHP 是弱类型语言,在这一点上就比较弱,仅有 instance of 可以用于判断对象的类型


多态性的优点:让代码更接近生活中的真实情况


一下是一个非常简单的多态性例子,描述在电脑上安装不同操作系统,linux, OS X, windows 和 computer 是两种不同类型的对象。


interfaceos{functionname();functioncreator();}classlinuximplementsos{functionname(){echo"Linux";}functioncreator(){echo"(createdbyLinusTorvalds)";}}classwindowsimplementsos{functionname(){echo"Windows";}functioncreator(){echo"(createdbyMicrosoft)";}}classosximplementsos{functionname(){echo"OSX";}functioncreator(){echo"(createdbyApple)";}}classcomputer{functioninstallOS($os){if($osinstanceofos){echo"Installing";echo$os->name();echo$os->creator()."<br>";}else{echo"notasystem";}}}$myComputer=newcomputer;$myLinux=newlinux;$myWindows=newwindows;$myOSX=newosx;$myComputer->installOS($myLinux);$myComputer->installOS($myWindows);$myComputer->installOS($myOSX);