ein etwas besseres Beispiel um sich den Sinn von Klassen begreiflich zu machen wäre ein Onlineshop:
man definiert eine 'Basisklasse' (sie stellt eine Art Schablone dar) z.B.: den Warenkorb
class warenkorb {
var $produkte_im_warenkorb;
function hinzufuegen_von_artikeln($artikel_nummer, $anzahl) {
$this->$produkte_im_warenkorb[$artikel_nummer] += $anzahl;
}
usw. .....
}
Diese Klasse Warenkorb enthält Variablen (huhu, ein Array ;-) ich liebe Arrays) zum speichern der Waren und Funktionen z.B.: zum hinzufügen und entfernen der einzelnen Produkte...
Von dieser Basisklasse lassen sich nun Objekte (damit wird im eigentlichen Sinne "gearbeitet") erzeugen, die 'Instanzen'
das geschieht mit 'new' z.B.:
$basket = new warenkorb
($objekt = new Basisklasse)
Objekte besitzen die selben Variablen, Funktionen und Eigenschaften wie die Basisklasse.
Mit -> wird innerhalb eines Objekte auf Variablen und Funktionen zugegriffen
$warenkorb -> hinzufuegen_von_artikeln ("254",2);
Der Artikel 254 wird 2-mal in den Warenkorb gelegt.
Zu einer Klasse gehört nicht unbedingt ein Konstruktor, man kann (muss man aber nicht) ihn definieren, er stellt eine Funktion dar die autom. aufgerufen wird wenn ein neues Objekt einer Klasse erzeugt wird.
................................................
Ich bin mir zwar nicht sicher aber, das mit dem Privat oder Öffentlich funktioniert in PHP glaub ich nicht.....
ab php5 soll es aber einen unterschied geben, die zend2 engine hat zum Thema "klassen" einiges dazugelernt. es soll private und öffetliche funktionen geben, destruktoren, verschachtelte klassen usw.
stell dir ne klasse wie einen container von funktionen vor, in dem eigene variablen und eine eigne umgebung herrschen, die wenig mit der aussenwelt zu tun haben müssen. Um in den container hineinzukommen, rufst du die methoden (=funktionen in einer klasse) über den Pfeil (->) oder über doppelten dokkelpunkt (dazu muss die klasse allerdings nicht instanziert sein) auf.
hmm, eigendlich wollte ich ja nur wissen was dieser pfeil (->) beteuten und warum man ihn einsetzt. was eine klasse (class) ist weiß ich, aber denoch vielen dank.
__________________
Gruß |Coding
--- Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
Also ums ganz einfach zu machen stell dir vor die Variable $this ist ein Zeiger der auf verschiedene Variablen Zeigt.
Mit dem '->' gibst du an auf welche Variable du zugreifen möchtest. ($this kann naturlich auch auf funktionen zeigen.)
Schön Gruß an Nev den C++ freak.
__________________
Ein Programm schreibt man um ein
Problem zu lösen nur leider erhält
man mit jedem Program ein neues
Problem!
Geändert von markus.thiede (02.07.2002 um 23:29:30 Uhr)
Ich wollt ja mit dem Beispiel verdeutlichen was der '->' bewirkt, hoffe das ist gelungen....
Natürlich weisst du (|Coding) was Klassen sind, wenn mein (auch für die Allgemeinheit gedachtes) Posting etwas am Ziel vorbei geschossen ist, tuts mir leid.