Public bedeutet, dass jeder auf diese Methode oder diesen Zustand zugreifen kann.
Generell sollten gute Programmierer sich danach richten keine Zustände als public zu deklarieren. Stattdessen sollte man auf „Set“- und „Get“-Methoden zurückgreifen.
Als private deklarierte Zustände und Methoden sind nicht zugänglich für aussenstehende. Nur die eigene Klasse kann auf diese Zustände und Methoden zugreifen. Somit wird sichergestellt, dass niemand von aussen Schreib- oder Leserechte hat.
Bis jetzt sind all unsere Zustände und Methoden „public“, d.h. jeder kann auf sie zugreifen, sowohl die Klasse, als auch der Benutzer. Die beiden Zustände aus unserer Klasse sollten jedoch von aussen geschützt sein. Deswegen sollten sie nun auch als private deklariert werden.
PhP ist eine Funktionsorierentierte Programmiersprache, dass sieht man schon daran, dass nur Standardfunktionen wie strlen() oder substr() zur Verfügung gestellt werden. Bei Java hingegen werden nur Standardklassen zur Verfügung gestellt wie z.B. die Klasse String oder Integer mit ihren jeweils eigenen Methoden.
OOP ist in PhP4 nur schwach implementiert. Erst ab PhP 5 kann man das erweiterte Potenzial von OOP ausschöpfen (wie public, private und mehr). Jedoch ist die Einfachheit von PhP wahrscheinlich der Hauptgrund warum auch PhP4 für einen Einstieg in OOP geeignet ist.
Wer das gesamte Leistungspaket von OOP haben will, kann mit Java oder C++ weiter machen. Diese Sprachen sind etwas komplizierter, da Sie Typen unterscheiden, eine etwas andere Syntax besitzen und Compiler-Sprachen sind (d.h. Sie brauchen einen Java oder C++ Compiler).
Für den Rest unseres Tutorials reicht PhP4. Jedoch folgt jetzt noch gleich ein PhP5 Quellcode unserer Klasse fernseher, damit Sie sehen können wie man private und public benutzt.
<? //PhP 5 kompatibler Quelltext der Klasse fernseher class fernseher { private $eingeschaltet = "nein"; //private: kein Zugriff von Aussen private $aktuellesProgramm; //private: kein Zugriff von Aussen public $einfachso; //public: Zugriff von Innen und Aussen. //auch Methoden koennen public oder private //sein public function einschalten() { $this->eingeschaltet = "ja"; } public function ausschalten() { $this->eingeschaltet = "nein"; } public function is_eingeschaltet() { return $this->eingeschaltet; } public function programmWechseln($nr) { $this->aktuellesProgramm = $nr; } //Wenn eine Methode private ist, kann nur die Klasse selbst //diese aufrufen private function aktuellesProgramm() { return $this->aktuellesProgramm; } } ?>
In den nächsten Kapiteln arbeiten wir wieder PhP 4 konform.