In aggiunta a quanto detto da satifal
i metodi vengono sempre condivisi nella classe figlia in base allo specificatore di accesso definito. Public, protected, private.
se i metodi sono protected o public non c'è nessun bisogno di riscrivere niente2.Per quale motivo dovrei definire classi astratte o interfacce se poi devo comunque riscrivere tutto all'interno delle sottoclassi reali?
i motivi sono svariati..Codice PHP:abstract class A {
public function getText() {
return "Hello world!";
}
}
class B extends A {}
$b = new B();
echo $b->getText();
3. Se definisco un costruttore nella classe astratta, e implemento argomenti ecc nel costruttore, devo riscrivere tutto nella sottoclasse o basta che indico l'esistenza del costruttore stesso?Codice PHP:abstract class A {
private $name;
public function __construct( $name ) {
$this->name = $name;
}
public function getText() {
return "Hello $this->name!";
}
}
class B extends A {}
$b = new B( "Andrea" );
echo $b->getText();


Rispondi quotando
