@abstract kennt keine Entsprechung im PHP Sprachumfang.
Es wird in der objektorientierten Programmierung eingesetzt.
Syntax und Scope
|
Syntax
|
@abstract
|
Scope
|
class, function, var
|
Eine abstrakte Klasse, ist eine Klasse von der kein Objekt
erstellt werden kann. Sie dient als bewußt unvollständig gehaltene
Basis für Unterklassen. Wie die Grafik zeigt, sind abstrakte
Klassen meist die Oberbegriffe einer Menge von konkreten Begriffen.
Anwendungsbeispiel
|
Geometrische Figur
{abstract}
|
Dreieck
|
Rechteck
|
Kreis
|
|
Verwandtes
|
Java
|
Keyword: abstract
Beispiel: public abstract methodname();
|
C++
|
Keyword: virtual - "pure virtual function"
Beispiel: public:virtual void methodname() = 0;
|
Da PHP das Konstrukt einer abstrakten Methode nicht kennt,
wird oft eine Coding Convention eingeführt. Abstrakte Methoden
haben einen Funktionskörper, in dem eine leere Anweisung
(einzelnes Semikolon) steht. Verwendet das Projekt ein
einheitliches Error Handling, so empfiehlt sich statt der leeren
Anweisung der Aufruf einer Fehlerbehandlungsfunktion.
Wird abstract ebenfalls für Eigenschaften eingesetzt,
so wird die Klassenvariable nur deklariert, ohne eine
Wertzuweisung vorzunehmen. PHP 4 liefert so beim Zugriff
die Warning "undefined property", sofern die Klassenvariable
in einer abgeleiteten Klasse nicht mit einem Wert belegt wurde.
Die generierte Dokumentation zeigt das Wort "abstract" vor dem Namen
des jeweiligen Elements.
Codebeispiel
|
/**
* Oberklasse der geometrischen Figuren
* @abstract
*/
class geomfigure {
/**
* Skalierungsfaktor bei der Darstellung.
* @abstract
*/
var $skale;
/**
* Zeichnet das Objekt.
* @abstract
*/
function paint() {
;
}
}
|
Generierte Dokumentation
|
private abstract class geomfigure
private abstract void paint( )
private abstract unknown $skale
|