phpbar.de logo

Mailinglisten-Archive

[php] OOP in PHP 5: Interfaces vs. abstrakte Klasse

[php] OOP in PHP 5: Interfaces vs. abstrakte Klasse

Marco Peemöller listen at goto-marco.de
Sam Okt 13 22:27:43 CEST 2007


Hallo Hannes,

Hannes H. schrieb:

> Ich habe mir änliches schon gedacht, da ich dieses Konzept ja von Java
> kenne. Da wäre es wohl am Besten, wenn ich die Parameterliste als
> optionales Array realisiere - was aber meiner Meinung nach keine
> wirklich "schöne" Lösung im Sinne vom Software-Design ist.

Ich weiß nicht, ob ich Dein Problem richtig verstanden habe, folgendes 
geht aber:

<?php
abstract class AbstrakteKlasse {
   public abstract function methode();
}

class ImplementierendeKlasse extends AbstrakteKlasse {
   public function methode($foo = 1, $bar = 2) {
     print "ImplementierendeKlasse::methode() aufgerufen.\n";
     echo $foo;
     echo $bar;
   }
}

$objekt = new ImplementierendeKlasse;
$objekt->methode(3, 3);
?>

Die Parameter müssen also in der konkreten Klasse mit Werten vorgegeben 
werden, dann funktioniert es. Steht ja auch in dem Zitat von Lutz: "It 
may have more parameters as long as they are *optional*, but it cannot 
have less."

Viele Grüße

Marco


php::bar PHP Wiki   -   Listenarchive