class ResponseObject
{
public static function parse(object $data): ResponseObject1|ResponseObject2|ResponseObject3|ResponseObject4
{
switch ($data->type) {
case 'type1':
return new ResponseObject1($data);
case 'type2':
return new ResponseObject2($data);
case 'type3':
return new ResponseObject3($data);
case 'type4':
return new ResponseObject4($data);
}
}
}