Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 28 di 50
  • livello avanzato
Indice lezioni

Creare le classi

Come creare le classi, gli elementi fondamentali della programmazione ad oggetti con cui raggruppare variabili e funzioni
Come creare le classi, gli elementi fondamentali della programmazione ad oggetti con cui raggruppare variabili e funzioni
Link copiato negli appunti

Come abbiamo visto nella lezione precedente, tramite il modello orientato agli oggetti è possibile centralizzare più funzionalità all'interno di un'unica postazione. Questa postazione prende il nome di classe. Una classe è una sorta di "involucro" che racchiude variabili e funzioni che condividono funzionalità e risorse, che rimangono in attesa di essere utilizzate tramite le istanze della classe stessa. In PHP una classe è dichiarata tramite la keyword class seguita dal nome della classe e dall'implementazione della stessa racchiusa tra parentesi graffe:

class MyClass {
        // implementazione della classe MyClass...
}

Una volta dichiarata la classe, possiamo passare all'inserimento delle funzionalità, tramite la dichiarazione di variabili e funzioni. Nello snippet successivo verrà utilizzata la parola chiave public che precede le varie componenti della classe: per ora basta sapere che questa keyword è necessaria ai fini della corretta compilazione dello script, proprio come nel caso di class o function.
class MyClass {
        // variabili membro
        public $a = 10;
        public $b = 20;
        // funzioni
        public function sayHello() {
                echo "Hello!";
        }
}

Ora che abbiamo creato le funzionalità della nostra classe, ci occorre un modo per richiamarle: questo diventa possibile tramite le istanze della classe (o oggetti). Per dichiarare un'istanza si usa l'operatore new seguito dal nome della classe ed opzionalmente da una lista di parametri richiesti dalla funzione costruttore (che studieremo tra qualche lezione). Nel nostro caso non abbiamo il costruttore, dunque la creazione di un'istanza avviene nel seguente modo:

$myClass_1 = new MyClass();
// stampa "Hello!"
$myClass_1->sayHello();
// stampa 10
echo $myClass_1->a;

Ovviamente, per ogni classe può essere istanziato un numero illimitato di oggetti, ognuno con i propri parametri impostati al valore definito dalla classe nella sua dichiarazione iniziale:

$myClass_2 = new MyClass();
// ora la proprietà "a" dell'oggetto $myClass_2 è impostata a 20
$myClass_2->a = 20;
// stampa 10
echo $myClass_1->a;

Ti consigliamo anche