phpbar.de logo

Mailinglisten-Archive

[php] Infos ueber Klassen

[php] Infos ueber Klassen

Bastian Haustein phpug at haustein.plan-i.de
Son Aug 17 19:48:54 CEST 2003


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