Sconto del 20% su tutti i corsi inserendo nel form il codice SPRING20 | Fino al 30 aprile
Sconto del 20% su tutti i corsi inserendo nel form il codice SPRING20 | Fino al 30 aprile

Guide per aspiranti programmatori

sviluppatrice che programma seduta su una lampadina aiutata da un robottino
Lezione 22 / 26

Le classi astratte in PHP

Stanco? Resisti! Fai un break e continuiamo, le nostre lezioni php non sono ancora finite!
Parliamo, in questo articolo, di una tipologia particolare di classe php: le classi astratte.

Una classe astratta è una classe che vanta almeno un metodo astratto

I metodi astratti possono avere esclusivamente nomi ed argomenti. Pertanto, non possiamo creare oggetti da classi astratte. Come scavalcare questo ostacolo? Semplice: dovremo creare delle classi figlie che aggiungano il codice nei corpi dei metodi e utilizzare queste stesse classi figlie per creare oggetti.
Se ci pensiamo, nel mondo reale, “parallelepipedo” è una classe astratta: non esiste nel mondo reale un parallelepipedo, ma esistono delle specializzazioni come ad esempio una scatola di scarpe, un televisore, una lavatrice. Sono tutti parallelipepidi, ma che possono esistere nel mondo reale, in quanto specializzati.
Vediamolo un po’ meglio, scendendo nel pratico.

 Una delle prime cose che dobbiamo fare è istituire la classe Persona con una generalizzazione ( funzione astratta ).

abstract class Person {
  public $name;
  public $surname;
  public $age;

  public function __construct($name, $surname, $age) {
    $this->name = $name;
    $this->surname = $surname;
    $this->age = $age;
  }
  abstract function presentati();
}

La funzione presentati() nella classe Persona indica che tutte le classi che estendono la classe Persona si possono presentare. Ogni sottoclasse, però, può farlo in modo diverso, esplicitando come. Riprendendo come esempio le classi create nell’articolo precedente, Il Docente si presenterà:

class Teacher extends Person {
  public $salary;
  public $subjects = [];

  public function __construct($name , $surname, $age, $subjects, $salary){
    parent::__construct($name, $surname, $age);
    $this->salary = $salary;
    $this->subjects = $subjects;
  }

  public function presentati(){
    echo "Ciao, sono $this->nome e sono un Docente";
  }
}

Mentre lo studente:

class Student extends Person {
  public $average;
  public $subjects = [];

  public function __construct($name , $surname, $age, $subjects, $average){
    parent::__construct($name, $surname, $age);
    $this->average = $average;
    $this->subjects = $subjects;
  }
  public function presentati(){
    echo "Ciao, sono $this->nome e sono uno Studente";
  }
}

Ora che abbiamo costruito le classi, visualizziamo i risultati finali:

$docente = new Teacher("Mario" , "Rossi");
$docente->presentati();

//Ciao, sono Mario e sono un Docente
$studente = new Student("Giorgio" , "Verdi");
$studente->presentati();

//Ciao, sono Giorgio e sono uno studente

Concludendo il nostro primo incontro con il concetto di astrazione, ora sappiamo che questa ci consente di vincolare le classi figlie ai nomi dei metodi e non ai corpi dei metodi.

Pagamento rateale

Valore della rata: A PARTIRE DA 115 €/mese.

Esempio di finanziamento 

Importo finanziato: € 2440 in 24 rate da € 115 – TAN fisso 9,55% TAEG 12,57% – importo totale del credito € 2841.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

*In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Pagamento rateale

Valore della rata: A PARTIRE DA 210 €/mese.

Esempio di finanziamento  

Importo finanziato: € 4500 in 24 rate da € 210,03 – TAN fisso 9,68% TAEG 11,97% – importo totale del credito € 5146,55.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

* In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Contattaci senza impegno per informazioni sul corso

Scopriamo insieme se i nostri corsi fanno per te. Compila il form e aspetta la chiamata di uno dei nostri consulenti.