[PHP5] Vererbung von Klassen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [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

  • #2
    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.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      [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

      Kommentar


      • #4
        Überschreiben? Ne, du kannst doch immer noch unterscheiden mit self:: und parent:: auf welche zu zugreifen willst.
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          [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

          Kommentar


          • #6
            Re: [PHP5] Vererbung

            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
            Sunshine CMS
            BannerAdManagement
            Borlabs - because we make IT easier
            Formulargenerator [color=red]Neu![/color]
            Herkunftsstatistik [color=red]Neu![/color]

            Kommentar


            • #7
              Re: [PHP5] Vererbung

              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

              Kommentar


              • #8
                [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

                Kommentar

                Lädt...
                X