PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   [PHP5] Vererbung von Klassen (https://www.php-resource.de/forum/php-developer-forum/88893-php5-vererbung-von-klassen.html)

GELight 14-12-2007 10:16

[PHP5] Vererbung von Klassen
 
Morgen alle zusammen,

Hab mal ne kleine Frage zum Vererben von Klassen.
Kleines Beispiel mit einem kleinen Problem von mir:

Also die Vererbung ansich funktioniert wunderbar.
Das Problem erklär ich gleich:
Ich habe 2 Klassen. Beide Klassen haben bisher 2 Methoden( ich nehm mal beispielnamen ) für eine interne Fehlerausgabe. Über Methode addError() füge ich immer, wenn irgendwo ein Fehler in der Klasse auftritt, eine Meldung in ein Array ein. Über die zweite Methode ( public ) wird von außen gesagt, ob die Fehlermeldungen direkt ausgegeben werden sollen wenn sie entstehen oder eben nicht.

Wie gesagt haben "beide" Klassen exakt diese beiden methoden für eine interne kleine Fehlerverwaltung. Getrennt funktioniert alles wunderbar. Nun vererbe ich zB. Klasse 1 in Klasse 2 ...
( class klasse2 extends klasse1 )
... führe ich jetzt mein Script aus, dann gibt er mir keinerlei Meldungen mehr aus, die evtl. innerhalb der Klasse 1 passieren.

Was mach ich da evtl. noch falsch oder was verstehe ich noch falsch?

Mario

Benny-one 14-12-2007 10:39

Dein Fehler ist vermutlich, dass deine Klasse, die die Hauptklasse erweitert, das Ergebnis in das eigene Attribut schreibt, statt in das der Hauptklasse zu schreiben. Am besten machst du dir eine Methode, die beide Ergebnisse zusammenfügt.

GELight 14-12-2007 13:47

[PHP5] Vererbung
 
Hi,

Also wenn ich dich richtig verstehe, dann brauche ich dann wohl diese Methode bzw. auch die ArrayVariable in der neuen Klasse garnicht mit anzulegen, da diese ja schon in der alten Klasse vorhanden ist oder?

Ich dachte, dass die eh überladen oder überschrieben werden und somit die Methode aus der neuen Klasse die aktuelle wird.

Mario

Benny-one 14-12-2007 13:51

Überschreiben? Ne, du kannst doch immer noch unterscheiden mit self:: und parent:: auf welche zu zugreifen willst.

GELight 14-12-2007 14:31

[PHP5] Vererbung
 
In meiner alten Klasse rufe ich ja nur mit $this->..... meine Methoden auf. In der neuen mach bisher das selbe. MUSS ich da jetzt in der neuen Klasse mit parent:: arbeiten oder versteh ich noch was falsch?
Theoretisch kann ich in meinem Fall doch in der neuen Klasse eh die Errormethoden weglassen, wenn diese durch die alte Klasse ja schon zur verfügung gestellt werden oder?

Mario

Benny-one 14-12-2007 14:56

Re: [PHP5] Vererbung
 
Zitat:

Original geschrieben von GELight
...Theoretisch kann ich in meinem Fall doch in der neuen Klasse eh die Errormethoden weglassen, wenn diese durch die alte Klasse ja schon zur verfügung gestellt werden oder?

Mario

sollte gehen

PHP-Desaster 14-12-2007 17:16

Re: [PHP5] Vererbung
 
Zitat:

Theoretisch kann ich in meinem Fall doch in der neuen Klasse eh die Errormethoden weglassen, wenn diese durch die alte Klasse ja schon zur verfügung gestellt werden oder?
Genau das ist der Sinn der Vererbung ;)

GELight 14-12-2007 18:03

[PHP5] Vererbung
 
Hi PHP-Desaster...

Habs bisher noch nie angewendet und nur theoretisch gekannt.
Daher ist das vielleicht ne etwas blöde Frage gewesen. Ich werd da noch etwas Übung brauchen um das noch lockerer und für mich angenehmer anwenden zu können.

Aber auch dir nochmal danke für den Hinweis. :)

Mario


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:12 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG