🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Classi Astratte PHP

Codegrind Team•Jul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi delle classi astratte in PHP.

Esercizio 1

Creare una classe astratta "FiguraGeometrica" con un metodo astratto "calcolaArea()". Creare una classe "Quadrato" che estende la classe astratta e implementa il metodo "calcolaArea()" per calcolare l'area del quadrato.
<?php
abstract class FiguraGeometrica {
    abstract public function calcolaArea();
}

class Quadrato extends FiguraGeometrica {
    private $lato;

    public function __construct($lato) {
        $this->lato = $lato;
    }

    public function calcolaArea() {
        return $this->lato * $this->lato;
    }
}

$quadrato = new Quadrato(5);
echo "Area del quadrato: " . $quadrato->calcolaArea();
?>

Esercizio 2

Creare una classe astratta "Animale" con un metodo astratto "emettiVerso()". Creare una classe "Cane" che estende la classe astratta e implementa il metodo "emettiVerso()" per far abbaiare il cane.
<?php
abstract class Animale {
    abstract public function emettiVerso();
}

class Cane extends Animale {
    public function emettiVerso() {
        return "Woof woof!";
    }
}

$cane = new Cane();
echo $cane->emettiVerso();
?>

Esercizio 3

Creare una classe astratta "Veicolo" con un metodo astratto "accelera()". Creare una classe "Automobile" che estende la classe astratta e implementa il metodo "accelera()" per accelerare l'automobile.
<?php
abstract class Veicolo {
    abstract public function accelera();
}

class Automobile extends Veicolo {
    public function accelera() {
        return "L'automobile sta accelerando...";
    }
}

$auto = new Automobile();
echo $auto->accelera();
?>

Esercizio 4

Creare una classe astratta "Persona" con un metodo astratto "saluta()". Creare una classe "Studente" che estende la classe astratta e implementa il metodo "saluta()" per salutare come studente.
<?php
abstract class Persona {
    abstract public function saluta();
}

class Studente extends Persona {
    public function saluta() {
        return "Ciao! Sono uno studente.";
    }
}

$studente = new Studente();
echo $studente->saluta();
?>

Esercizio 5

Creare una classe astratta "Esercizio" con un metodo astratto "esegui()". Creare una classe "EsercizioMatematico" che estende la classe astratta e implementa il metodo "esegui()" per eseguire un esercizio matematico.
<?php
abstract class Esercizio {
    abstract public function esegui();
}

class EsercizioMatematico extends Esercizio {
    public function esegui() {
        return 5 + 3; // Esempio di esercizio matematico
    }
}

$esercizio = new EsercizioMatematico();
echo "Risultato: " . $esercizio->esegui();
?>

Esercizio 6

Creare una classe astratta "Forma" con un metodo astratto "disegna()".
<?php
abstract class Forma {
    abstract public function disegna();
}

class Cerchio extends Forma {
    public function disegna() {
        return "Disegna un cerchio";
    }
}

$cerchio = new Cerchio();
echo $cerchio->disegna();
?>

Esercizio 7

Creare una classe astratta "Veicolo" con un metodo astratto "avvia()". Creare una classe "Moto" che estende la classe astratta e implementa il metodo "avvia()" per avviare la moto.
<?php
abstract class Veicolo {
    abstract public function avvia();
}

class Moto extends Veicolo {
    public function avvia() {
        return "La moto è stata avviata.";
    }
}

$moto = new Moto();
echo $moto->avvia();
?>

Esercizio 8

Creare una classe astratta "Animale" con un metodo astratto "emettiSuono()". Creare una classe "Gatto" che estende la classe astratta e implementa il metodo "emettiSuono()" per fare il verso del gatto.
<?php
abstract class Animale {
    abstract public function emettiSuono();
}

class Gatto extends Animale {
    public function emettiSuono() {
        return "Miao!";
    }
}

$gatto = new Gatto();
echo $gatto->emettiSuono();
?>

Esercizio 9

Creare una classe astratta "Prodotto" con un metodo astratto "calcolaPrezzo()". Creare una classe "Libro" che estende la classe astratta e implementa il metodo "calcolaPrezzo()" per calcolare il prezzo del libro.
<?php
abstract class Prodotto {
    abstract public function calcolaPrezzo();
}

class Libro extends Prodotto {
    private $prezzo;

    public function __construct($prezzo) {
        $this->prezzo = $prezzo;
    }

    public function calcolaPrezzo() {
        return $this->prezzo;
    }
}

$libro = new Libro(20);
echo "Prezzo del libro: " . $libro->calcolaPrezzo();
?>

Esercizio 10

Creare una classe astratta "Veicolo" con un metodo astratto "ferma()". Creare una classe "Auto" che estende la classe astratta e implementa il metodo "ferma()" per fermare l'auto.
<?php
abstract class Veicolo {
    abstract public function ferma();
}

class Auto extends Veicolo {
    public function ferma() {
        return "L'auto è stata fermata.";
    }
}

$auto = new Auto();
echo $auto->ferma();
?>