Menu
Coddy logo textTech

Classes vs Objetos

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

Classes e objetos servem a propósitos diferentes. Uma classe é um modelo, enquanto um objeto é o que você constrói a partir desse modelo.

Aqui está um exemplo de uma classe com propriedades declaradas:

<?php
class Dog {
    public $name;
    public $breed;
}

A palavra-chave public significa que essas propriedades podem ser acessadas de fora da classe. Aprenderemos mais sobre public na lição de Propriedades.

Agora crie objetos a partir da classe Dog:

$dog1 = new Dog();
$dog2 = new Dog();

Objetos podem ter valores individuais para suas propriedades:

$dog1->name = "Nicky";
$dog1->breed = "Siberian Husky";

$dog2->name = "Teemon";
$dog2->breed = "Shu'ali";

O operador -> é usado para acessar as propriedades de um objeto.

Imprima os dados de cada objeto:

echo $dog1->name . " is a " . $dog1->breed . "\n";
echo $dog2->name . " is a " . $dog2->breed . "\n";

Saída:

Nicky is a Siberian Husky
Teemon is a Shu'ali

Diferença Principal: A classe Dog define a estrutura que todos os cães compartilham, enquanto os objetos $dog1 e $dog2 representam cães específicos e individuais com valores de propriedade únicos.

challenge icon

Desafio

Fácil

Complete o código para criar dois objetos de estudante a partir da classe Student e definir suas propriedades.

  • student.php: Contém a classe Student (bloqueado)
  • driver.php: Crie objetos e defina suas propriedades

Defina os seguintes valores:

  • $student1: o nome é "Alice" com a nota "A"
  • $student2: o nome é "Bob" com a nota "B"

Folha de consulta

Uma classe é um modelo que define a estrutura e o comportamento de objetos, enquanto um objeto é uma instância criada a partir dessa classe.

Defina uma classe com propriedades usando a palavra-chave public:

<?php
class Dog {
    public $name;
    public $breed;
}

Crie objetos a partir de uma classe usando a palavra-chave new:

$dog1 = new Dog();
$dog2 = new Dog();

Acesse e defina propriedades de objetos usando o operador ->:

$dog1->name = "Nicky";
$dog1->breed = "Siberian Husky";

$dog2->name = "Teemon";
$dog2->breed = "Shu'ali";

Acesse propriedades para ler seus valores:

echo $dog1->name . " is a " . $dog1->breed;

Experimente você mesmo

<?php
require_once 'student.php';

// TODO: Criar dois objetos de estudante


// TODO: Definir propriedades para student1 (name: "Alice", grade: "A")


// TODO: Definir propriedades para student2 (name: "Bob", grade: "B")


// Imprimir informações do estudante
echo $student1->name . " has grade " . $student1->grade . "\n";
echo $student2->name . " has grade " . $student2->grade . "\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