Menu
Coddy logo textTech

Propriedades

Parte da seção Programação Orientada a Objetos do Journey de PHP da Coddy — lição 6 de 91.

Propriedades são variáveis que pertencem a uma classe. Elas armazenam informações sobre o estado do objeto. No PHP, as propriedades devem ser declaradas dentro da classe usando uma palavra-chave de visibilidade como public.

As propriedades podem ter valores padrão que são compartilhados entre todos os objetos:

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

Propriedades sem um valor padrão começam como null até que você as defina.

Você pode definir valores de propriedades usando um método e $this:

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

    public function setInfo($name, $age) {
        $this->name = $name;    // define os dados da instância
        $this->age = $age;      // define os dados da instância
    }
}

Crie objetos de estudantes e defina seus dados individuais:

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

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

Acesse as propriedades:

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

Saída:

Alice
Bob
PHP Academy
PHP Academy

Diferença Principal: Propriedades com valores padrão (como $school) começam com o mesmo valor para cada objeto. Propriedades definidas por meio de métodos (como $name e $age) são exclusivas para cada objeto.

challenge icon

Desafio

Fácil

Complete a classe Student em student.php:

  1. Declare uma propriedade $school com o valor padrão "PHP Academy"
  2. Declare as propriedades $name e $age (sem valores padrão)
  3. Adicione um método setInfo que recebe os parâmetros $name e $age e os define usando $this

O arquivo driver.php testará sua classe criando dois estudantes e imprimindo suas informações.

Folha de consulta

Propriedades são variáveis que pertencem a uma classe e armazenam informações sobre o estado do objeto. Elas devem ser declaradas dentro da classe usando uma palavra-chave de visibilidade como public.

As propriedades podem ter valores padrão compartilhados entre todos os objetos:

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

Propriedades sem um valor padrão começam como null até serem definidas.

Use métodos e $this para definir os valores das propriedades:

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

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

Crie objetos e defina dados individuais:

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

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

Propriedades com valores padrão começam iguais para cada objeto. Propriedades definidas através de métodos são únicas para cada objeto.

Experimente você mesmo

<?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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Programação Orientada a Objetos