Menu
Coddy logo textTech

Propiedades

Parte de la sección Programación Orientada a Objetos del Journey de PHP de Coddy — lección 6 de 91.

Las propiedades son variables que pertenecen a una clase. Almacenan información sobre el estado del objeto. En PHP, las propiedades deben declararse dentro de la clase utilizando una palabra clave de visibilidad como public.

Las propiedades pueden tener valores predeterminados que se comparten entre todos los objetos:

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

Las propiedades sin un valor predeterminado comienzan como null hasta que las establezcas.

Puedes establecer los valores de las propiedades usando un método y $this:

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

    public function setInfo($name, $age) {
        $this->name = $name;    // establecer datos de la instancia
        $this->age = $age;      // establecer datos de la instancia
    }
}

Crea objetos de estudiante y establece sus datos individuales:

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

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

Acceder a las propiedades:

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

Resultado:

Alice
Bob
PHP Academy
PHP Academy

Diferencia clave: Las propiedades con valores predeterminados (como $school) comienzan con el mismo valor para cada objeto. Las propiedades establecidas a través de métodos (como $name y $age) son únicas para cada objeto.

challenge icon

Desafío

Fácil

Completa la clase Student en student.php:

  1. Declara una propiedad $school con el valor por defecto "PHP Academy"
  2. Declara las propiedades $name y $age (sin valores por defecto)
  3. Añade un método setInfo que reciba los parámetros $name y $age y los asigne utilizando $this

El archivo driver.php probará tu clase creando dos estudiantes e imprimiendo su información.

Hoja de referencia

Las propiedades son variables que pertenecen a una clase y almacenan información sobre el estado del objeto. Deben declararse dentro de la clase utilizando una palabra clave de visibilidad como public.

Las propiedades pueden tener valores predeterminados compartidos entre todos los objetos:

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

Las propiedades sin un valor predeterminado comienzan como null hasta que se establecen.

Utilice métodos y $this para establecer los valores de las propiedades:

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

    public function setInfo($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}

Cree objetos y establezca datos individuales:

$student1 = new Student();
$student1->setInfo("Alice", 20);

echo $student1->name;    // Alice
echo $student1->school;  // PHP Academy

Las propiedades con valores predeterminados comienzan igual para cada objeto. Las propiedades establecidas a través de métodos son únicas para cada objeto.

Pruébalo tú mismo

<?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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Programación Orientada a Objetos