Your Developer Exam showed me just how much there is to PHP. 您的开发人员考试表明我只是有多少是PHP的。”
罗斯

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秒