I.I.S.S. Alessandro Volta - Palermo
0 voti
Come tutti i buoni linguaggi ad oggetti, anche PHP permette di estendere una classe tramite altre classi.
quesito posto 10 Maggio 2017 in Classe quarta da Gianni Messina Esperto (695 punti)
  

1 Risposta

0 voti
Nell'esempio viene definita una classe Animale, e una specializzazione Mammifero.

Come in tutti gli altri linguaggi ad oggetti, la sottoclassi Mammifero , dichiarata con extends, eredita tutti i metodi e gli attributi della classe genitore. Quindi  Mammifero avrà i metodi setSpecie() e getSpecie() e l'attributo $specie. Inoltre in Mammifero è possibile impostare se l'animale ha o meno il pelo. Evidentemente questo metodo è specifico per mammiferi , e quindi sarebbe errato inserire queste funzionalità nella classe Animale.

<?php

// Definizione della classe Animale
class Animale {
  private $specie;

  // Costruttore
  public function __construct($specie){
    $this->specie = $specie;
  }

  // Ritorna la specie
  public function getSpecie(){
    return $this->specie;
  }

  // Imposta la specie
  public function setSpecie($specie){
    $this->specie = $specie;
  }
}

// Definizione della classe Mammifero
class Mammifero extends Animale {
  private $pelo;

  public function __construct($specie){
    $this->setSpecie($specie);
  }

  public function haPelo(){
    return $this->pelo;
  }

  public function setPelo($corna){
    $this->pelo = $pelo;
  }
}

?>
risposta inviata 10 Maggio 2017 da Gianni Messina Esperto (695 punti)
modificato 10 Maggio 2017 da Gianni Messina

Domande correlate

+1 voto
0 risposte
quesito posto 10 Maggio 2017 in Classe quarta da Gianni Messina Esperto (695 punti) | 135 visite
0 voti
1 risposta
684 domande
1,334 risposte
631 commenti
1,489 utenti