www.archive-de-2014.com » DE » P » PINZKE

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".

    Archived pages: 22 . Archive date: 2014-10.

  • Title: Rico Pinzke - Willkommen - Pinzke
    Descriptive info: .. Navigation überspringen.. Home.. OOP.. CV.. Impressum.. Kontakt.. pinzke.. de.. ::.. Rico Pinzke - Willkommen.. PHP.. Objekt.. Methoden.. Klassen.. Eigenschaften.. new.. ::.. __destruct.. __get.. __construct.. __clone.. implements.. final.. extends.. pattern.. observer.. fassade.. factory.. decorator.. composite.. model view controller.. -.. this.. __call.. __autoload.. __set.. abstract.. interface.. singleton.. ">.. Willkommen.. Hallo,.. auf diesen Seiten möchte ich einen kurzen Überblick  ...   - also die Objektorientierte Programmierung in PHP gehen.. Eine Einführung dazu kann man.. hier.. sehen.. Auf.. dieser.. und folgenden Seiten geht es um Entwurfsmuster in PHP.. Letztendlich soll ab.. Seite das Thema MVC (Model View Controller) behandelt werden.. Viel Spaß.. Copyright © 2014 Rico Pinzke | Alle Rechte vorbehalten | CMS by.. Contao.. | Template by.. fruitMEDIA..

    Original link path: /
    Open archive

  • Title: Rico Pinzke - OOP mit PHP - Pinzke
    Descriptive info: Rico Pinzke - OOP mit PHP.. Einführung.. Notationen.. Sichtbarkeit.. Vererbung.. Magie.. Static more.. Pattern.. Factory.. Singleton.. Observer.. Decorator.. Fassade.. Composite.. Command.. MVC.. MVC - Part I.. MVC - Part II.. Objektorientierte Programmierung.. Objektorientierte Programmierung (OOP)? Warum sollte ich das machen?.. Ganz ehrlich, bevor ich angefangen habe, objektorientiert zu programmieren, habe ich mich über Jahre da nicht rangetraut.. Mit Funktionen zu programmieren, hat bis jetzt doch gereicht - warum sollte ich da was Anderes machen?.. Naja, einfache Antwort: Objektorientiert zu programmieren ist einfach und vereinfacht programmiertechnische Probleme.. Es macht Spaß und eröffnet einen neuen Horizont.. Für mich besteht die Qualität eines Codes und damit natürlich auch die Fähigkeit des Programmierers aus 3 Stufen:.. Programmierung mittels ElseIf: Der Programmierer schreibt Tausende Zeilen ElseIf oder Switch-Abfragen, um ein Problem zu lösen.. Der Code ist extrem unübersichtlich und nicht wiederverwendbar, da er nur für genau 1 Problem geschrieben wurde.. Programmierung mittels Funktionen: Der Programmierer lagert wichtige Programmbausteine in Funktionen aus.. Hier wird der Code schon übersichtlicher.. Aber auch Funktionen sind eher statisch und lassen sich schwer für verschiedene Probleme anpassen.. Außerdem können Variablenwerte nur schlecht von Funktion zu Funktion transportiert werden und man kann von einer Funktion auch keine andere ableiten.. Schade eigentlich.. Programmierung mittels Klassen (OOP): Das ist der Oberhammer ;) Hier kann man für verschiedene Aufgaben eine Klasse schreiben und dieser Funktionen zuweisen (das nennt man dann Methoden).. Man kann von Klassen Methoden oder auch Variablen erben oder weitervererben.. OOP lässt eigentlich kaum Wünsche offen.. Folgende Beispiele sollen die 3 Stufen verdeutlichen:.. Programmierung mittels ElseIf.. Eine normale Variable wird hochgezählt.. Dabei wird jedesmal der numerische Wert abgefragt und ausgegeben.. Der Code ist sehr lang und unübersichtlich.. Stellen wir uns mal vor, der Wert würde bei 100 seinen Endpunkt haben, das wären dann schon etliche hundert Zeilen Code.. $variable = 1; if ($variable == 3) { echo Variable ist gleich 3\n ; } else { echo Variable ist gleich.. $variable.. \n ; $variable++; } // Variable ist gleich 1 if ($variable == 3) { echo Variable ist gleich  ...   das Problem kann man umgehen, indem man der Variable $variable die Funktion zuweist.. Dann entspricht der Rückgabewert der Funktion der Variablen und sie wird so richtig hochgezählt.. Naja, das ist nicht wirklich sauber.. Es soll ja nur ein kleines Problem mit dem Arbeiten mit Funktionen verdeutlichen.. $variable = 1; function zaehlevariablen($variable) { if ($variable == 3) { echo Variable ist gleich 3\n ; } else { echo Variable ist gleich.. \n ; $variable++; } return $variable; } $variable = zaehlevariablen($variable); // Variable ist gleich 1 $variable = zaehlevariablen($variable); // Variable ist gleich 2 $variable = zaehlevariablen($variable); // Variable ist gleich 3.. Programmierung mittels Klassen.. Hier wird die und schon bekannte Funktion in eine Klasse eingebettet.. Das nennt man dann eine Methode.. Also: Methode = Funktion in einer Klasse.. Die Variable $variable ist in der Klasse eine Eigenschaft.. Deswegen wird sie auch mit $this- variable weiter angesprochen - und: sie behält innerhalb der Klasse ihren Wert, sie verfällt nicht.. Wenn wir also die Methode immer wieder aufrufen, wird die Variable ordnungsgemäß hochgezählt.. Ja, das ist doch das, was wir wollten: 1.. wenig Code, 2.. Übersichtlichkeit, 3.. Variablen behalten ihre Werte.. class MeineKlasse { public $variable = 1; function zaehlevariable() { if ($this- variable == 3) { echo Variable ist gleich 3\n ; } else { echo Variable ist gleich.. $this- variable.. \n ; $this- variable++; } return $this- variable; } } $klasse = new MeineKlasse(); $klasse- zaehlevariable(); // Variable ist gleich 1 $klasse- zaehlevariable(); // Variable ist gleich 2 $klasse- zaehlevariable(); // Variable ist gleich 3.. In diesem kleinen Tutorial habe ich persönlich mehr Wert auf den Spaßfaktor gelegt.. Es ist deshalb weit vom Anspruch der Vollständigkeit entfernt.. Mein Hauptaugenmerk liegt eher darauf, was Klassen überhaupt sind, wie man überhaupt Objekte erzeugt, wie man mit Klassen Objekte erzeugt und wie man mittels MVC zu einem kleinen Framework kommt.. Mal sehen :).. Wenn man sich einen etwas vollständigeren Überblick zu OOP verschaffen möchte, so ist diese Seite ein gutes.. Beispiel.. Ansonsten machen wir jetzt mit der.. weiter..

    Original link path: /tutorial/objektorientiert/programmieren/php.html
    Open archive

  • Title: Rico Pinzke - Über meine Person - Pinzke
    Descriptive info: Rico Pinzke - Über meine Person.. Curriculum Vitae.. PERSÖNLICHE DATEN.. Geburtsjahr.. 1965.. Staatsangehörigkeit.. deutsch.. Familienstand.. verheiratet.. SCHULBILDUNG.. 1971-1981.. Polytechnische Oberschule, Schwerin.. 1996-1998.. Abitur, Schwerin (berufsbegleitend).. AUSBILDUNG.. 1981-1983.. Geologischer Facharbeiter, Schwerin/Stralsund/Johanngeorgenstadt.. 1987-1990.. Facharbeiter für Krankenpflege, Schwerin (berufsbegleitend).. 1990-1993.. Examinierter Krankenpfleger, Schwerin (berufsbegleitend).. STUDIUM.. 1999-2001.. Literaturwissenschaften und Philosophie.. Fernuniversität Hagen (berufsbegleitend).. 2004-2010.. Psychologie mit Schwerpunkt Klinische Psychologie.. Universität Potsdam.. WEHRDIENST.. 1984-1985.. Nationale Volksarmee, Ellershagen.. BERUFSERFAHRUNG.. 1983-1987.. Geologischer Facharbeiter.. Geologische Forschung und Erkundung Halle, BT Schwerin.. Pflegerisch-therapeutische Arbeit mit mehrfach schwerstbehinderten Kindern und Jugendlichen.. Clara-Dieckhoff-Haus Güstrow.. 1990-2003.. Krankenpfleger in den Bereichen: Allgemeinpsychiatrie, Psychotherapie, Abhängigkeitserkrankungen.. Carl-Friedrich-Flemming-Klinik Schwerin (heute: HELIOS-Kliniken).. 2003.. Krankenpfleger St..  ...   für die Pflegedienstdirektion sowie Mitarbeiterschulungen in EDV/LEP.. St.. 2006-2008.. Wissenschaftliche Hilfskraft Motivationspsychologie Universität Potsdam.. 2013, 2014.. Dozent an der Hochschule der Bundesagentur für Arbeit Schwerin - Vorlesungsreihe: "Sucht und komorbide Störungen".. Veröffentlichungen.. 2013.. Stuppe, M.. , Froesa, G.. Pinzke, R.. (2013) Community Reinforcement Approach in einer psychiatrischen Klinik.. Suchttherapie 2013; 14: 56-63.. QUALIFIKATIONEN.. Psychologie.. Counselor of Community Reinforcement Approach (CRA), DBT, EMDR.. Fremdsprachen.. Englisch: gut, Russisch: Grundlagen.. Computer.. Betriebssysteme: MacOSX, Windows, Linux.. Programmiersprachen: PHP, HTML, Javascript, Ajax.. Software: Office, Bildbearbeitung, LEP, Klinika, Medicare, SPSS, Photoshop, ZDE u.. v.. a.. INTERESSEN / SONSTIGES.. Interessen.. Literatur, Programmierung, Neuropsychologie, Gitarre, Bogenschießen, Reiten..

    Original link path: /cv.html
    Open archive
  •  

  • Title: Rico Pinzke - Impressum - Pinzke
    Descriptive info: Rico Pinzke - Impressum.. Herausgeber.. Dipl.. Psych.. Rico Pinzke.. Schleifmühlenweg.. 19061 Schwerin.. Haftungsausschluss.. Diese Website wurde mit größtmöglicher Sorgfalt recherchiert und zusammengestellt.. Trotzdem kann der Anbieter für die Fehlerfreiheit, Vollständigkeit und Genauigkeit der enthaltenen Informationen nicht garantieren.. Der Anbieter übernimmt keinerlei Gewähr für die Aktualität, Korrektheit, Vollständigkeit oder Qualität der bereitgestellten Informationen.. Haftungsansprüche gegen den Anbieter, welche sich auf Schäden materieller oder ideeller Art beziehen, die durch die Nutzung oder Nichtnutzung der dargebotenen Informationen bzw.. durch die Nutzung fehlerhafter und unvollständiger Informationen verursacht wurden, sind grundsätzlich ausgeschlossen, sofern seitens des Anbieters kein nachweislich vorsätzliches oder grob fahrlässiges Verschulden vorliegt.. Verweise und Links.. Für alle externen Links gilt: die Anbieter haben keinerlei Einfluss auf die Gestaltung und die Inhalte dieser Seiten.. Deshalb distanzieren wir uns hiermit von allen Inhalten, die auf diesen verlinkten Seiten zu finden sind, inklusive aller Unterseiten.. Diese Erklärung gilt für alle auf unserer.. Eine oder mehrere Seiten eines Internetauftrittes.. ">Homepage.. veröffentlichten Links und für alle  ...   urheberrechtlich geschützt sind.. Ohne vorherige schriftliche Genehmigung durch den Anbieter bzw.. die jeweiligen Fotografen dürfen diese Fotos nicht veröffentlicht, vervielfältigt, verändert, verbreitet, für gewerbliche Zwecke oder auf andere Weise genutzt werden.. Datenschutz.. Sofern innerhalb des Internetangebotes die Möglichkeit zur Eingabe persönlicher oder geschäftlicher Daten (E-Mail, Namen, Anschriften etc.. ) besteht, erfolgt die Preisgabe dieser Daten seitens des Nutzers auf ausdrücklich freiwilliger Basis.. Die personenbezogenen Daten dienen lediglich der Abwicklung von Anfragen und Kontaktaufnahmen.. Die Inanspruchnahme und Bezahlung aller angebotenen Dienste ist - soweit technisch möglich und zumutbar - auch ohne Angabe solcher Daten bzw.. unter Angabe anonymisierter Daten oder eines Pseudonyms gestattet.. Die Nutzung der im Rahmen des Impressums oder vergleichbarer Angaben veröffentlichten Kontaktdaten wie Postanschriften, Telefon- und Faxnummern sowie E-Mail-Adressen durch Dritte zur Übersendung von nicht ausdrücklich angeforderten Informationen ist nicht gestattet.. Rechtliche Schritte gegen die Versender von sogenannten Spam-Mails bei Verstößen gegen dieses Verbot sind ausdrücklich vorbehalten.. Realisierung.. Psych.. Content Management System.. WebCMS Contao:.. www.. contao..

    Original link path: /impressum.html
    Open archive

  • Title: Rico Pinzke - Kontakt - Pinzke
    Descriptive info: Rico Pinzke - Kontakt.. Bitte füllen Sie die folgenden Felder aus:.. Pflichtfeld.. Name.. *.. Betrifft.. E-Mail..

    Original link path: /kontakt.html
    Open archive

  • Title: OOP - Programmieren mit Pattern - Pinzke
    Descriptive info: OOP - Programmieren mit Pattern.. Entwurfsmuster Pattern.. Entwurfsmuster dienen verschiedenen Problemlösungen in PHP.. Sie machen keine Aussage über die konkrete Implementierung einer Lösung, sondern dienen lediglich als Schablone.. Bei Entwurfsmustern unterscheidet man heute zwischen objekt- und klassenbasierten Entwürfen, welche man in Erzeugungs-, Struktur- und Verhaltensmuster unterteilt.. Erzeugungsmuster: Erzeugung von Objekten zur Laufzeit (innerhalb einer Methode).. Strukturmuster: Sie befassen sich überwiegend mit der Zusammensetzung von  ...   Verhaltensmuster: Legen das Zusammenspiel zwischen Klassen oder Objekten fest und befassen sich mit der Art und Weise der Interaktion zwischen den einzelnen Objekten.. Die folgende Tabelle zeigt verschiedene Entwurfsmuster in den verschiedenen Kategorien:.. Erzeugungsmuster.. Strukturmuster.. Verhaltensmuster.. Klassenbasiert.. Factory-Method.. Adapter.. Interpreter.. Objektbasiert.. Abstract-Factory.. Iterator.. Facade.. Visitor.. Proxy.. Selbstverständlich gibt es noch weitere Entwurfsmuster.. Die Tabelle soll jedoch nur einen allgemeinen Überblick über die gebräuchlichsten Muster geben..

    Original link path: /tutorial/objektorientiert/programmieren/pattern.html
    Open archive

  • Title: MVC - Model View Controller - Pinzke
    Descriptive info: MVC - Model View Controller.. Enterprise Pattern - MVC.. Enterprise an Kirk - Bitte kommen? Entperprise? Ja, gehts denn noch?.. In der Enterprise-Entwicklung geht es zwar auch um die verschiedenen Verhaltensmuster, aber es geht auch darum, neben der intelligenten Implementierung, die Schichten einer Applikation sauber zu trennen.. Bisher haben wir in unseren Codes immer lustig HTML und PHP gemischt, die einen Methoden haben etwas zur Verfügung gestellt, andere etwas geholt und ausgegeben.. Das könnte doch aber auch etwas sauberer getrennt werden, oder? Genau dafür gibt es z.. B.. das Prinzip des Model-View-Controllers (MVC).. Hier arbeiten mehrere Klassen zusammen um die Anfrage des Browsers und die dann ausgegebenen Daten in der Logik sauber zu trennen.. Controller: nimmt die Aktionen des Benutzers an, fordert die Daten vom Model an und gibt sie an den View weiter.. Model: Holt die Daten aus der Datenbank und gibt sie an den Controller zurück.. View: ist für das parsen des Templates zuständig und gibt die Daten aus dem Model in HTML aus.. Auf diese Weise kann es eine saubere Trennung der einzelnen Schichten einer Applikation geben.. Unabhängig davon, können hier selbstverständlich viele weitere Klassen beteiligt sein, wie z.. eine vernünftige Request-Klasse, Datenbank-Klasse oder Registry-Klasse, die selbst verschiedenen Verhaltensmustern angehören.. Naja, klar, kompliziert gehts immer.. Folgendes Beispiel zeigt einen Minimal-MVC:.. /index.. php.. define ('BASEPATH', realpath(dirname(__FILE__))); include(BASEPATH.. DIRECTORY_SEPARATOR.. 'classes'.. 'autoload.. class.. php'); $controller = new Controller(); echo $controller- display();.. /classes/autoload.. function __autoload ($classe) { $class = strtolower($classe); $class = $class.. '.. php'; if (file_exists(BASEPATH.. $class)) { include(BASEPATH.. $class); } }.. /classes/controller.. class Controller { private $template; private $view; private $data; public function __construct() { $this- view = new View(); $this- data = Model::getData(); } public function display()  ...   finden ; } }.. /templates/default.. html head title ?php echo $this- content['title']; ? /title /head body ?php echo $this- content['content']; ? br / ?php echo $this- content['footer']; ? /body.. Ok, und wie funktioniert das nun? Das ist wirklich ziemlich simpel:.. Zunächst wird die index.. php aufgerufen und diese implementiert die autoload.. Jetzt wird der Controller aufgerufen: dieser holt sich mittels der statischen Methode $this- data = Model::getData(); die Daten aus dem Model und gibt sie danach mittels $this- view- setContent(); an den View weiter.. Im View werden jetzt alle Daten in einem Array gespeichert und am Abschluss an das Template übergeben.. Tja, und das ist auch schon alles.. Eigentlich ziemlich simpel.. Was aber, wenn man verschiedene Ausgaben haben möchte und wenn die Daten vielleicht aus verschiedenen Datenbanken kommen sollen? Dann braucht man mehrere Models, Controller und Views - abhängig von der Browseranfrage.. Und genau da setzt ein Framework an.. Denn jetzt kommt z.. auch eine Request-Klasse mit ins Spiel, die die verschiedenen Anfragen an verschiedene Controller und Models weiterleitet.. Download des Mini-MVC.. Download.. (3,9 kB).. Kommentare.. Kommentar von.. Peter.. | 19.. 12.. 2013.. Top.. Kommentar von Deniz.. | 25.. Super Seite!!!.. Mich würde noch interessieren, wie man das mit der Request Klasse macht, also wie man mehrere Seiten mittels MVC erstellen kann.. Wäre echt cool wenn du es mir zeigen würdest.. Mach weiter so!.. ps: ich habe keine Email.. Liebe Grüße.. Kommentar von Rico.. | 26.. Schön, dass das Thema MVC interessant ist :).. Das hier beschriebene Modell ist schon 2 Jahre alt.. Mal sehen, ob ich noch eine vernünftige Request-Klasse finde.. Ich mache das in den nächsten Tagen mal fertig.. LG Rico.. E-Mail (wird nicht veröffentlicht).. Webseite.. Kommentar..

    Original link path: /tutorial/objektorientiert/programmieren/mvc.html
    Open archive

  • Title: OOP - Eine Einführung - Pinzke
    Descriptive info: OOP - Eine Einführung.. In der Objektorientierten Programmierung (OOP) gibt es vier Begriffe, die man sich merken sollte:.. das Objekt.. die Klasse.. die Eigenschaft.. die Methode.. Die Klasse.. Klassen sind eine Art Entwurfsmuster oder Bauplan.. Klassen werden mit class.. klassenname.. { } oder class.. ($variable) {} definiert.. Innerhalb der geschweiften Klammern befinden sich dann:.. Variablen, die die Eigenschaften definieren und.. Funktionen, welche innerhalb einer Klasse Methoden genannt werden.. Das Objekt.. Objekte sind alles, was wir aus Klassen machen.. Wenn Klassen also ein Entwurfsmuster oder Bauplan sind, dann sind Objekte die daraus resultierenden fertigen Häuser.. Definiert wird das Ganze folgendermaßen: $objekt = new klasse; Objekte werden also mit dem Wörtchen new erzeugt.. Die Eigenschaft.. Jedes Objekt in unserer Umwelt hat bestimmte Eigenschaften.. Ein Haus kann groß oder klein, alt oder neu sein.. Ein Ball kann klein oder groß, weiß oder bunt sein.. Objekte haben also Eigenschaften.. In der objektorientierten Programmierung nennt man das auch "Instanzvariablen", "Attribut" oder "Member".. Ich persönlich bevorzuge den Begriff Eigenschaft, da er dies am besten  ...   Klasse, also der Bauplan für den Ball, ist BallKlasse.. Der Ball hat natürlich auch Eigenschaften, nämlich die Farbe oder Größe.. Und man kann auch etwas mit dem Ball machen - ihn anmalen oder aufpumpen - und so die Eigenschaften ändern.. Und los geht's:.. class BallKlasse { public $farbe; public $groesse; public function anmalen($farbe) { $this- farbe = $farbe; } public function aufpumpen($luftmenge) { $this- groesse = $luftmenge; } public function beschreibe () { $beschreibung = Die Farbe ist.. $this- farbe.. \n ; $beschreibung.. = Die Groesse ist.. $this- groesse.. \n ; return $beschreibung; } } $ball = new BallKlasse(); $ball- anmalen( weiss ); $ball- aufpumpen(1); echo $ball- beschreibe(); // Die Farbe ist weiss.. Die Groesse ist 1.. Na super, die erste Klasse ist geschrieben und das erste Objekt ist erzeugt.. War doch gar nicht so schwer :) Hm, aber trotzdem gibt es da ein paar Ungereimtheiten - warum gibt es da ein public und was soll das mit dem this? Und, wozu ist das - da? Ganz.. einfach..

    Original link path: /tutorial/objektorientiert/programmieren/php/einfuehrung.html
    Open archive

  • Title: OOP - Notationen - Pinzke
    Descriptive info: OOP - Notationen.. Notationen in der objektorientierten Programmierung.. Wie man anhand der Beispielklasse mit dem Ball gut sehen kann, gibt es verschiedene Besonderheiten im Umgang mit Klassen, z.. new, public, - usw.. Hier soll das mal kurz erklärt werden.. Mit.. haben wir eine Referenz auf das Objekt erzeugt.. Diese Referenz haben wir dann in der Variable $ball abgelegt.. Im Ballbeispiel haben wir geschrieben: $ball = new BallKlasse() {.. }.. Man kann, wenn man keinen Konstruktor verwendet, das Ganze aber auch so schreiben: $ball = new BallKlasse {.. In der Variable $ball sind dann alle Eigenschaften und Methoden der Klasse enthalten, sie ist also wie eine Art Behälter.. Und das ist natürlich total klasse.. Wenn man bei der Programmierung mit Funktionen immer den entsprechenden file mit der Klasse einbinden muss - dazu muss man natürlich wissen, wie die Funktion heißt und wo sie sich befindet -, hat man bei der  ...   aufpumpen(1); mit etwas Luft aufgepumpt :).. Naja, wir hätten aber auch gleich den Ball mit etwas Luft versehen können, z.. mit $ball- groesse = 3.. In diesem Fall hätten wir mit dem - nicht auf eine Methode, sondern gleich auf eine Eigenschaft zugegriffen.. Wir haben also gesehen, wenn man auf Eigenschaften oder Methoden zugreift, dann passiert das mittels -.. Wenn das Ganze innerhalb der Klasse passiert, dann greift man darauf mit $this- zurück.. Der doppelte Doppelpunkt kann sowohl innerhalb einer Klasse als auch außerhalb einer Klasse eingesetzt werden.. Innerhalb einer Klasse kann man nämlich anstatt mit this auch mit self:: auf Eigenschaften oder Methoden zugreifen.. Wenn man eine Klasse ableitet, kann man mit parent:: auf die Methoden oder Eigenschaften der Elternklasse zugreifen.. Und bei statischen Methoden kann man mit Klasse::Methode() auch außerhalb einer Klasse so auf die Methode zugreifen.. Wahnsinn, kein Wort verstanden? Macht nix, das erkläre ich z..

    Original link path: /tutorial/objektorientiert/programmieren/php/notationen.html
    Open archive

  • Title: OOP - Sichtbarkeit - Pinzke
    Descriptive info: OOP - Sichtbarkeit.. Im Beispiel der BallKlasse wurde allen Eigenschaften oder Methoden ein public vorangestellt, das bedeutet, inwieweit man auf Eigenschaften oder Methoden einer Klasse zugreifen und sie verändern kann.. Generell gibt es 3 Sichtbarkeitsstufen:.. public:.. kompletter Vollzugriff.. protected:.. Hier können nur die eigene Klasse und die abgeleiteten Klassen darauf zugreifen.. private.. : Hier kann nur innerhalb der Klasse darauf zugriffen werden.. class BallKlasse { public $farbe; public $groesse; protected $preis; public function anmalen($farbe) { $this- farbe = $farbe; } public function aufpumpen($luftmenge) { $this- groesse = $luftmenge; } public function beschreibe () { $beschreibung = Die Farbe ist..  ...   ); $ball- aufpumpen(1); echo $ball- beschreibe(); $ball- preisaendern();.. Im obigen Beispiel haben wir zu unserer schon bekannten BallKlasse eine protected Methode und Eigenschaft hinzugefügt.. Soweit ist das ja schonmal super.. Das Problem ist, dass wir in der letzten Zeile auf diese protected Methode zugreifen wollen.. Das gibt dann folgende Fehlermeldung:.. b Fatal error /b : Call to protected method BallKlasse::preisaendern().. Wir können von außen also nicht auf eine private oder protected geschützte Methode oder Eigenschaft zugreifen.. Ach, können wir wirklich nicht? Naja, zumindest auf mittels protected geschützte Methoden kann man zugreifen, wie das Beispiel im Punkt ".. " verdeutlicht..

    Original link path: /tutorial/objektorientiert/programmieren/php/sichtbarkeit.html
    Open archive

  • Title: OOP - Vererbung - Pinzke
    Descriptive info: OOP - Vererbung.. Vererbung ist ein wichtiges Hilfsmittel in der objektorientierten Programmierung.. Man kann Klassen von Klassen ableiten und erbt so alle Methoden oder Eigenschaften.. Folgendes Beispiel soll das mal verdeutlichen:.. = Der Preis ist.. $this- preis.. \n ; return $beschreibung; } protected function preisaendern() { $this- preis++; } } class BallShop extends BallKlasse { public function treibepreis() { $this- preisaendern(); } } $shop = new BallShop(); $shop- treibepreis(); $shop- treibepreis(); $shop- anmalen( weiss ); $shop- aufpumpen(1); echo $shop- beschreibe(); // Die Farbe ist weiss // Die Groesse ist 1 // Der Preis ist 2.. Wow, was haben wir denn jetzt gemacht? Naja, zunächst einmal haben wir eine Klasse mittels.. abgeleitet.. Ich habe ja schon gesagt, dass in einem Objekt alle Methoden und Eigenschaften enthalten sind.. Das gilt natürlich auch für abgeleitete Klassen, die auch als Kindklassen bezeichnet werden.. Wenn man also eine Kindklasse von einer Elternklasse ableitet, so werden alle Eigenschaften und Methoden geerbt.. In diesem Fall erben wir unter anderem die protected Methode preisaendern() und greifen auf sie mittels einer public Methode treibepreis() zu.. Coole Sache :).. Aber das funktioniert nur bei protected Methoden oder Eigenschaften.. Mittels private deklarierte Methoden oder Eigenschaften sind komplett geschützt und können auch so nicht verändert oder benutzt werden.. Aber kann man nur von Eltern auf Kindklassen ableiten, oder geht das auch von einer Großelternklasse? Folgendes Beispiel zeigt die Möglichkeiten einer Ableitung:.. class Grosseltern { protected $alter; protected $augenfarbe = braun ; protected  ...   46Jahre // Die Augenfarbe ist braun // Die Haarfarbe ist braun // Der Beruf ist Psychologe.. Na Klasse, was haben wir in dem Beispiel gemacht?.. Von der Großelternlasse haben wir setalter() geerbt.. Von der Elternklasse haben wir setaugenfarbe(), sethaarfarbe() und setjob() geerbt, können aber als direkten Aufruf und die public-Methoden verwenden.. Für die protected-Methode setjob benutzen wir dann die public-Methode setberuf().. Die Augenfarbe haben wir überhaupt nicht geändert, die haben wir direkt aus der Großelternklasse übernommen.. Ok, es gibt auch noch mehrere Möglichkeiten, Methoden oder Eigenschaften zu manipulieren, z.. durch Überschreiben.. Folgendes Beispiel:.. \n ; return $beschreibung; } protected function preisaendern() { $this- preis++; } } class BallShop extends BallKlasse { // Das wuerde einen ueblen Fehler geben // da sich die Methode selbst aufruft // public function preisaendern() { // $this- preisaendern(); // } public function preisaendern() { parent::preisaendern(); } } $shop = new BallShop(); $shop- preisaendern(); $shop- preisaendern(); $shop- anmalen( weiss ); $shop- aufpumpen(1); echo $shop- beschreibe(); // Die Farbe ist weiss // Die Groesse ist 1 // Der Preis ist 2.. Wir haben jetzt ein fast identisches Beispiel zum obigen Code benutzt, das jedoch leicht abgeändert.. In der Klasse BallShop haben wir die Methode treibeepreis() umgeändert in die Methode preisaendern().. Diese Methode gibt es ja schon in der Elternklasse BallKlasse.. Um sie aufzurufen, benutzten wir jetzt den doppelten Doppelpunkt mit dem Wörtchen parent davor.. Auf diese Weise können wir Eigenschaften oder Methoden aus Elternklassen benutzten und überschreiben..

    Original link path: /tutorial/objektorientiert/programmieren/php/vererbung.html
    Open archive



  •  


    Archived pages: 22