PHP OOP:将父对象重新转换为子类

时间:2012-04-12 21:45:52

标签: php oop

是否有一种简单的方法可以将父对象重新设置为子类,最好是通过父类的方法。

例如我可能有一个"访客"上课和"会员"扩展"访客"的课程。验证方法成功后是否可以重铸对象?

由于

3 个答案:

答案 0 :(得分:0)

您可以在Visitor类中定义构造函数,该构造函数将使用另一个Visitor对象并将所有属性复制到新对象中。然后,此构造函数将继承到Member类,您将能够通过复制现有的Member对象来创建Visitor对象。

答案 1 :(得分:0)

我能想到的最接近的解决方案是启动一个新的“Member”对象,将旧的visitor对象传递给构造函数。在构造函数中,您可以提取相关属性并将它们分配给新对象。

类似的模式也可以正常工作,但是你无法在php中直接转换为类:[

答案 2 :(得分:0)

绝对不是!用户通过身份验证后,请求结束,因此Visitor对象不再存在。在下一个请求时,你将直接加载Member对象(我假设你有一些工厂知道为每个用户类型实例化相关对象)