kleiner Versuch zur privaten static Methoden
aber vorher, mache ich kurze Wiederholung
privat:
eine classe hat private Methoden und variablen, um diese Methoden und variablen von anderen Programmierer zu verbergen, da diese Methoden nur intern benutzt werden und haben überhaupt keine Wichtigkeit bei benutzen von einer classe und es ist unerwünscht, wenn diese interne Methoden und variablen geändert werden, sogar bei abgeleiteter classe.
protected:
diese Methoden und variablen haben keine Wichtigkeit bei benutzen von einer classe,
aber wenn jemand eine classe erweitern und ableiten möchte, dann kann er Funktionalität von diesen Methoden und variablen ausnutzen.
static: (oder auch classen Methoden und variablen genannt)
die Methoden und variablen die static sind, gehören nicht zu einem instantiiertem Objekt. diese Methoden und variablen kann man mit "global" vergleichen, mit dem unterschied, das der globalität nicht für die ganze programm, sondern für namespace, dass unsere Objekte von einer classe bilden.
eine static Methode kann nicht auf die lokale variable von einer classe mit ($this->blabla) zuzugreifen.
Ich kann auch versuchen ein logischer beispiel zur static Methode machen:
wir haben class Mitarbeiter und alles was ein Mitarbeiter macht können wir als Methode bezeichnen (gehen, sprechen, springen) und sogar hilfsmethoden, die seine Eigenschaften setzen und ausgeben.
Jetzt kommt die frage ob die Methode
Mitarbeiter_feuern($Mitarbeiter);
zu unserem Konzept passt?
zu dem Objekt Mitarbeiter passt diese Methode einfach logisch nicht, da es wird eine Tätigkeit ausgeübt, die zwar einen Mitarbeiter verändert, aber sein eigener Funktionalität hat damit nichts Zutun.
deshalb packen wir einfach solche Methoden die nur für bearbeitung von Mitarbeiter dienen als statische Methoden in unsere classe rein.
Und jetzt kommt es:
Wenn wir unsere statische Methoden in classe beschreiben, dann kann es auch vorkommen, dass bei Implementierung von einer statischer public Methode, ein paar kleine hilfsmethoden gebraucht werden,
die für die Leute die unsere Bibliothek weiter nutzen wollen absolut nicht interessant sind oder sogar schaden bei Veränderung einrichten können.
und markieren sie als PRIVATE
und sorry für mein Deutsch
aber vorher, mache ich kurze Wiederholung
privat:
eine classe hat private Methoden und variablen, um diese Methoden und variablen von anderen Programmierer zu verbergen, da diese Methoden nur intern benutzt werden und haben überhaupt keine Wichtigkeit bei benutzen von einer classe und es ist unerwünscht, wenn diese interne Methoden und variablen geändert werden, sogar bei abgeleiteter classe.
protected:
diese Methoden und variablen haben keine Wichtigkeit bei benutzen von einer classe,
aber wenn jemand eine classe erweitern und ableiten möchte, dann kann er Funktionalität von diesen Methoden und variablen ausnutzen.
static: (oder auch classen Methoden und variablen genannt)
die Methoden und variablen die static sind, gehören nicht zu einem instantiiertem Objekt. diese Methoden und variablen kann man mit "global" vergleichen, mit dem unterschied, das der globalität nicht für die ganze programm, sondern für namespace, dass unsere Objekte von einer classe bilden.
eine static Methode kann nicht auf die lokale variable von einer classe mit ($this->blabla) zuzugreifen.
Ich kann auch versuchen ein logischer beispiel zur static Methode machen:
wir haben class Mitarbeiter und alles was ein Mitarbeiter macht können wir als Methode bezeichnen (gehen, sprechen, springen) und sogar hilfsmethoden, die seine Eigenschaften setzen und ausgeben.
Jetzt kommt die frage ob die Methode
Mitarbeiter_feuern($Mitarbeiter);
zu unserem Konzept passt?
zu dem Objekt Mitarbeiter passt diese Methode einfach logisch nicht, da es wird eine Tätigkeit ausgeübt, die zwar einen Mitarbeiter verändert, aber sein eigener Funktionalität hat damit nichts Zutun.
deshalb packen wir einfach solche Methoden die nur für bearbeitung von Mitarbeiter dienen als statische Methoden in unsere classe rein.
Und jetzt kommt es:
Wenn wir unsere statische Methoden in classe beschreiben, dann kann es auch vorkommen, dass bei Implementierung von einer statischer public Methode, ein paar kleine hilfsmethoden gebraucht werden,
die für die Leute die unsere Bibliothek weiter nutzen wollen absolut nicht interessant sind oder sogar schaden bei Veränderung einrichten können.
und markieren sie als PRIVATE
und sorry für mein Deutsch
Kommentar