phpbar.de logo

Mailinglisten-Archive

[php] Abstrakte Klasse mit abstrakten/nicht abstrakten Attributen?

[php] Abstrakte Klasse mit abstrakten/nicht abstrakten Attributen?

Andreas Heigl a.heigl at wdv.de
Die Mar 15 16:40:29 CET 2005


Andreas Lange schrieb:

> David Molineus wrote:
>> meines Wissens sollte es problemlos möglich sein. Allerdings dürften die
>> Objekteigenschaften nicht als abstract gekennzeichnet werden. Folgendes
>> sollte gehen (nicht getestet):
> 
>> abstract class abstractTest {
>>    public $test1;
>>    public $test2;
> 
>>    abstract function foo() { }
>> }
> 
> abstract class abstractTest {
>    public $test1;
>    public $test2;
> 
>    abstract function foo();
> }
> 
> Jupp, so gehts, bis auf den kleinen "Schönheitsfehler" bei der
> Funktion. Leider kann man damit die abgeleitete Klasse nicht zwingen
> die Variable zu setzen. Aber scheinbar gibt es das noch nicht in PHP5
------------------^
> ;-)
> 
Wo willst du denn die Variablen setzten? Wenn du die Klasse vererbst rufst
du den Konstruktor der abstrakten Klasse auf. Darin kannst du ganz normal
eine Variable 'setzen'

Wenn du die Funktion foo() in deiner abgeleiteten Klasse neu definieren
Willst, würde ich dir zu einem Interface raten. Das wird von einer Klasse
implementiert und die im Interace beschriebenen Funktionen MÜSSEN dann auch
in der Implementierenden Klasse neu beschrieben werden.

Ist das vielleicht das, was du suchst?

Gruß

Andreas 


-- 

wdv Medien & Kommunikation GmbH & Co. OHG
Mediendatenverarbeitung
Andreas Heigl
Siemensstrasse 6
61352 Bad Homburg
Germany
Telefon +49-(0)6172-670-185
Telefax +49-(0)6172-670-181
www.wdv.de



php::bar PHP Wiki   -   Listenarchive