是否有一种简单的方法可以将父对象重新设置为子类,最好是通过父类的方法。
例如我可能有一个"访客"上课和"会员"扩展"访客"的课程。验证方法成功后是否可以重铸对象?
由于
答案 0 :(得分:0)
您可以在Visitor
类中定义构造函数,该构造函数将使用另一个Visitor
对象并将所有属性复制到新对象中。然后,此构造函数将继承到Member
类,您将能够通过复制现有的Member
对象来创建Visitor
对象。
答案 1 :(得分:0)
我能想到的最接近的解决方案是启动一个新的“Member”对象,将旧的visitor对象传递给构造函数。在构造函数中,您可以提取相关属性并将它们分配给新对象。
类似的模式也可以正常工作,但是你无法在php中直接转换为类:[
答案 2 :(得分:0)
绝对不是!用户通过身份验证后,请求结束,因此Visitor对象不再存在。在下一个请求时,你将直接加载Member对象(我假设你有一些工厂知道为每个用户类型实例化相关对象)