Menu
Coddy logo textTech

Proprietà

Fa parte della sezione Programmazione orientata agli oggetti del percorso PHP di Coddy. Lezione 6 di 91.

Le proprietà sono variabili che appartengono a una classe. Memorizzano informazioni sullo stato dell'oggetto. In PHP, le proprietà devono essere dichiarate all'interno della classe usando una parola chiave di visibilità come public.

Le proprietà possono avere valori predefiniti: ogni nuovo oggetto inizia con lo stesso valore iniziale, ma ciascun oggetto conserva la propria copia indipendente:

<?php
class Student {
    public $school = "PHP Academy";  // valore predefinito
    public $name;
    public $age;
}

Le proprietà senza un valore predefinito iniziano come null finché non le imposti.

Puoi impostare i valori delle proprietà usando un metodo e $this:

class Student {
    public $school = "PHP Academy";
    public $name;
    public $age;

    public function setInfo($name, $age) {
        $this->name = $name;    // imposta i dati dell'istanza
        $this->age = $age;      // imposta i dati dell'istanza
    }
}

Crea oggetti studente e imposta i loro dati individuali:

$student1 = new Student();
$student2 = new Student();

$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);

Accedi alle proprietà:

echo $student1->name . "\n";          // Alice
echo $student2->name . "\n";          // Bob
echo $student1->school . "\n";        // PHP Academy
echo $student2->school . "\n";        // PHP Academy

Output:

Alice
Bob
PHP Academy
PHP Academy

Differenza fondamentale: le proprietà con valori predefiniti (come $school) iniziano con lo stesso valore per ogni oggetto. Le proprietà impostate tramite metodi (come $name e $age) sono uniche per ogni oggetto.

challenge icon

Sfida

Facile

Completa la classe Student in student.php:

  1. Dichiara una proprietà $school con valore predefinito "PHP Academy"
  2. Dichiara le proprietà $name e $age (senza valori predefiniti)
  3. Aggiungi un metodo setInfo che accetta i parametri $name e $age e li imposta usando $this

Il file driver.php testerà la tua classe creando due studenti e stampando le loro informazioni.

Provalo tu

<?php
require_once 'student.php';

$student1 = new Student();
$student2 = new Student();

$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);

echo $student1->name . " is " . $student1->age . " at " . $student1->school . "\n";
echo $student2->name . " is " . $student2->age . " at " . $student2->school . "\n";
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore PHP online