Ankündigung

Einklappen
Keine Ankündigung bisher.

OOP Private, Public, Protected?

Einklappen

Neue Werbung 2019

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

  • OOP Private, Public, Protected?

    Hallo,
    Mir ist das nie so aufgefallen. entweder habe ich nie sauber programmiert, oder meine schöpfungen brauchten kein großes OOP konstrukt... vermutlich beides. Jetzt arbeite ich mit anderen zusammen und bin auf etwas ordnung angewiesen.

    Da fällt mir auf, dass php klassen doch glatt Private UND Protected weitervererben!

    Hat das einen Grund?
    Warum tut es das?


  • #2
    Schau dir die Beschreibung der Sichtbarkeiten (http://php.net/private) an.

    - Private bedeutet das Element kann nur in dem Kontext (in PHP nur Klassen) genutzt werden, in dem es definiert wurde.
    - Protected bedeutet das Element kann in der Klasse genutzt werden in dem es definiert wurde sowie in allen vererbten.
    - Public bedeutet das Element kann in jedem Kontext genutzt werden (Vorrausgesetzt du kommst an eine Instanz bzw. die Klasse selbst)

    Damit ist auch klar warum es "vererbt" wird.

    Kommentar


    • #3
      "Weitervererben" ist ein unscharfer Terminus. Eigentlich spricht man eher von Sichtbarkeit. Eine nicht überschriebene Methode bleibt auf seiner Vererbungsebene. Private Methoden sind nicht von anderen Ebenen aus sichtbar. Wohl aber für Methoden auf gleicher Vererbungsebene.
      Standards - Best Practices - AwesomePHP - Guideline für WebApps

      Kommentar

      Lädt...
      X