我试图了解如何在PHP中使用类层次结构。在Java编程中,我可以做这样的事情:
public class ClassOne extends SuperClass{
}
public class ClassTwo extends SuperClass{
}
public class SuperClass{
}
现在,当我将对象实例化为unknownclass = new SuperClass();
时,我就可以将此unknownclass
强制转换为随时随地扩展的任何类。
我的问题是这如何适用于PHP?以及如何使用它?
答案 0 :(得分:0)
多态性的主要好处是能够传递特定于通用需求的内容,前提是特定内容响应通用需求。因此,考虑到以下通用要求:
public function doSomethingWith(Superclass obj)
您可以将Superclass
或其任何子类的实例传递给doSomethingWith
。但为了使其有用且“安全”,Superclass
的子类需要实现至少与Superclass
相同的公共成员。因此,如果Superclass
有一个名为execute
的方法,则ClassOne
和ClassTwo
需要使用相同的方法,方法是继承Superclass
的实现,或者覆盖它并定义一个新的实现,只要重写的方法具有相同(或多态兼容)的签名。这为您提供了大量的行为灵活性,因为相同通用要求的不同实现可能会产生变化。