B
besi
Hallo,
Ich habe eine Hauptklasse Field diese hat Kinder z.B. textfield, choicefield, emailfield.
Nun möchte ich folgendes machen:
'xxx' soll anhand eines Strings durch text,choice oder email ersetzt werden. Ich habe daran gedacht zuerst alle als Field zu instanzieren und dann später eine Typenkonvertierung (also so klappts in java) durchzuführen. Doch dann stellt sich wieder das selbe Problem und ich möchte zudem, dass der Konstruktor der Kindklasse ausgeführt wird, nicht der parent-Konstruktor.
Im Notfall werde ich es so lösen, aber das mache ich natürlich sehr sehr ungerne weil es dann Probleme gibt, wenn neue Kindklassen dazukommen:
Bitte kann mir da irgendjemand weiterhelfen und mich vor obiger Bastel-Lösung zu bewahren?
Ich habe eine Hauptklasse Field diese hat Kinder z.B. textfield, choicefield, emailfield.
Nun möchte ich folgendes machen:
PHP:
$myfields[] = new xxxfield($name,$value);
'xxx' soll anhand eines Strings durch text,choice oder email ersetzt werden. Ich habe daran gedacht zuerst alle als Field zu instanzieren und dann später eine Typenkonvertierung (also so klappts in java) durchzuführen. Doch dann stellt sich wieder das selbe Problem und ich möchte zudem, dass der Konstruktor der Kindklasse ausgeführt wird, nicht der parent-Konstruktor.
Im Notfall werde ich es so lösen, aber das mache ich natürlich sehr sehr ungerne weil es dann Probleme gibt, wenn neue Kindklassen dazukommen:
PHP:
if($type="text")
$myfields[] = new textfield($name,$value);
if($type="choice")
$myfields[] = new choicefield($name,$value);
if($type="email")
$myfields[] = new emailfield($name,$value);
Zuletzt bearbeitet von einem Moderator: