phpbar.de logo

Mailinglisten-Archive

[php] Termini: überladen vs. implementieren (was: PDOStatement::execute überladen )

[php] Termini: überladen vs. implementieren (was: PDOStatement::execute überladen )

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Don Okt 26 08:22:09 CEST 2006


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