php – 将对象转换为其子类之一(协变返回类型)的正确OO方法是什
发布时间:2020-12-13 13:36:47 所属栏目:PHP教程 来源:网络整理
导读:我有一个子类,需要返回其父类的返回类型的子类.我相信这被称为协变返回类型.我想知道从父类转换为子类的最简单方法. class A {}class B extends A { function bar() { }}class Car { function foo() { return new A(); }}class BrokenCar extends Car { func
我有一个子类,需要返回其父类的返回类型的子类.我相信这被称为协变返回类型.我想知道从父类转换为子类的最简单方法.
class A { } class B extends A { function bar() { } } class Car { function foo() { return new A(); } } class BrokenCar extends Car { function foo() { $a = parent::foo(); //What is the cleanest way to convert $a to type B ? } }
在PHP中,您无法使用该语言中提供的功能将对象从类型/类A“转换”为B.
但是,如果对象支持序列化,则可以使用序列化(通常普通的旧PHP对象支持序列化).在serailized形式中,您可以更改对象的类并再次反序列化它. A然后变成了B.但那不是很流利. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |