Mailinglisten-Archive |
Hallo Jochen! 1) Zur Lektüre: Um zu verstehen, wofür Klassen gut sind, solltest du nach büchern und Lektüre der Programmiersprache C++ suchen. Die Objektorientierte entwicklung mit PHP steckt eigentlich noch "in den Kinderschuhen". 2) Zu $this: Wenn Du eine Klasse schreibst, dann schreibst Du Deinen Quellcode so, als würdest Du das fertige Objekt einem anderen Progammierer zur verfügung stellen wollen. Dieser kennt die sog. Schnittstelle, über die er Variablen in deiner Klasse lesen und Schreiben, und funktionen aufrufen kann. Zu der Zeit, zu der Du die Klasse schreibst, weißt Du aber noch nicht, wie der Programmierer später die Instanzen deiner Klasse nennen wird. Um also auf Deine eigenen Funktionen und Variablen zur entwicklungszeit zugreifen zu können brauchst du einen "vorläufigen" Namen, und der heist "$this". EIn Beispiel: von Dir geschrieben: class Grundschulrechnen { var $a; var $b; function set($a, $b){ $this->a = $a; $this->b = $b; } function add() { return ($this->a + >$this->b); } } Einsatz des "virtuellen" anderen Programmierers: $mathe = new Grundschulrechnen; $mathe->set(2,5); // hier ist jetzt $mathe->a == $this->a wärend der Klassen-entwicklung. // genauso für b. echo $mathe->add(); // sollte 7 also 2+5 ausgeben. Richtig sinn macht die Programmierung mit Klassen vor allem dann, wenn die Klasse mehrfach benutzt wird: $mathe1 = new Grundschulrechnen; $mathe2 = new Grundschulrechnen; $mathe1->set(2,5); $mathe2->set(5,7); Jetzt wird je nach dem, mit welcher Instanz (so werden $mathe1 und $mathe 2 bezeichnet) du die Funktion add() aufrufst entweder 2+5=7 oder 5+7=12 gerechnet. Ich hoffe, da sind jetzt nicht all zu grobe fehler drin, hab nämlich noch einen kleinen kater ;-) Viel Erfolg beim rumprobieren! Bastian ----- Original Message ----- From: "Jochen Hoffmann" <develor at develor.net> To: "deutschsprachige PHP-Mailingliste" <php at phpbar.de> Sent: Sunday, August 17, 2003 4:03 PM Subject: Re: [php] Infos ueber Klassen At 14:16 17.08.2003 +0200, you wrote: Hallo, >Alles erste Einführung ganz gut... >http://www.php.net/manual/de/language.oop.php Ja genau sowas wars wenns noch einfacher waere *gg*. Irgendwie will mir nicht einleuchten warum das $_this sein muss. Stellt diese Variable den Klassennamen dar? Jochen -- ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de ** Informationen: http://www.phpbar.de http://lists.phpbar.de/mailman/listinfo/php
php::bar PHP Wiki - Listenarchive