PHP和多态性
多态性是面向对象编程的关键技术,允许开发人员编写更好的代码更加灵活。
它无需if和switch语句时确定的行为。
这是依靠一个接口或基类,因此,建立任何逻辑,只要代码只使用一个接口或基类的方法时,也就没有必要使用,如果为每个类的语句将实现基类或接口中的方法,在自己的路。
接口IAnimal
{
makeNoise ( ) ;公共的功能makeNoise();
}
Cat implements IAnimal 类猫实现IAnimal
{
makeNoise ( )公共的功能makeNoise()
{
" Meow " ; 返回 “喵”;
}
}
Dog implements IAnimal 类犬实现IAnimal
{
makeNoise ( )公共的功能makeNoise()
{
" Woof " ; 返回 “纬”;
}
}
因此,与上面的代码开发人员并不需要知道的动物是什么类型的类对象,以使声音IAnimal类型,它会处理这本身。
当然这是可以重复的类使用与makeNoise方法的基类,然后在子类中重写。
下面是一个不使用多态性的例子。
Cat 类猫
{
Meow ( )公共职能喵()
{
" Meow " ; 返回 “喵”;
}
}
Dog 类犬
{
Woof ( )公共职能纬()
{
" Woof " ; 返回 “纬”;
}
}
Code to determine the action / /代码,以确定行动
$ animal instanceof Dog ) 如果($动物的instanceof狗)
{
$ animal - > Woof ( ) ; 回声 $动物- >纬();
}
其他
{
$ animal - > Meow ( ) ; 回声 $动物- >喵();
}
正如你可以看到,因为没有额外的逻辑需要使用,以确保正确的方法被称为类之间的标准化方法。
已提供任何意见。
书面由多米尼克·斯金纳
最后更新:2011年10月25日十六点00分38秒