subClassField = $subClassFieldValue; } public function getSubClassField(): string { return $this->subClassField; } public static function newFromJsonArray( JsonUnserializer $unserializer, array $json ) { return new self( $json['super_class_field'], $json['sub_class_field'] ); } protected function toJsonArray(): array { return parent::toJsonArray() + [ 'sub_class_field' => $this->getSubClassField() ]; } }