Mailinglisten-Archive |
Hallo Sebastian,
Am Donnerstag, 26. Oktober 2006 08:14 schrieb Sebastian Mendel:
> da das ja schon geklärt, nur was zur verwendeten Termini:
>
> Yannik Hampe wrote:
> > Hi @ll,
> >
> > ich beschäftige mich gerade etwas mit PDO.
> > Ich wollte die execute-Funktion von PDOStatement nun etwas
> > erweitern und habe versucht einfach eine Klasse von PDOStatement
> > abzuleiten, die dann execute überläd.
>
> Würde das dann nicht heisen: 'neu implementieren' oder so ähnlich?
>
> Überladen scheint mir hier auf jeden Fall der falsche Begriff, oder?
auf PHP bezogen vermutlich ja, weil Überladen hier wohl auf die Methode
__call() bezogen wird und __call auch etwas anders funktioniert, als
das Überladen in Java.
Verwendet man die Java-Terminologie, sind Überladen und Überschreiben zu
unterscheiden:
http://www.galileocomputing.de/openbook/javainsel5/javainsel02_006.htm#Rxx747java02006040000AD1F02C237
http://www.galileocomputing.de/openbook/javainsel5/javainsel06_006.htm#Rxx747java06006040001E71F019209
Überladen bedeutet in Java, daß in der Klasse oder in einer abgeleiteten
Klasse eine Methode mit demselben Namen, aber einer anderen
Parameterliste verwendet wird.
Überschreiben bedeutet in Java, wenn in einer abgeleiteten Klasse eine
Methode mit demselben Namen und derselben Parameterliste verwendet
wird.
Da Yannik folgendes Beispiel gebracht hat, wäre nach der
Java-Terminologie "Überschreiben" der korrekte Terminus:
class yPDOStatement extends PDOStatement
{
public function execute($ar)
{
//Hier Zeugs machen (logging, debugging, pre-processing und sowas)
parent::execute($ar); //dann die alte execute-Funktion aufrufen.
}
}
Viele Grüße
Lutz
php::bar PHP Wiki - Listenarchive