En aquest tema, aprendrem els conceptes bàsics de la Programació Orientada a Objectes (OOP) en PHP, centrant-nos en les classes i els objectes. La OOP és un paradigma de programació que utilitza "objectes" per representar dades i mètodes. Aquest enfocament ajuda a organitzar el codi de manera més modular i reutilitzable.

Què és una Classe?

Una classe és una plantilla per crear objectes. Defineix les propietats (atributs) i els mètodes (funcions) que els objectes creats a partir de la classe tindran.

Exemple de Classe

<?php
class Cotxe {
    // Propietats
    public $marca;
    public $model;
    public $color;

    // Constructor
    public function __construct($marca, $model, $color) {
        $this->marca = $marca;
        $this->model = $model;
        $this->color = $color;
    }

    // Mètode
    public function descriure() {
        return "Aquest cotxe és un $this->marca $this->model de color $this->color.";
    }
}
?>

Explicació del Codi

  • Propietats: Les propietats són variables que pertanyen a la classe. En aquest exemple, marca, model i color són propietats de la classe Cotxe.
  • Constructor: El constructor és un mètode especial que s'executa quan es crea un objecte. En aquest exemple, el constructor inicialitza les propietats marca, model i color.
  • Mètode: Un mètode és una funció que pertany a la classe. En aquest exemple, descriure és un mètode que retorna una descripció del cotxe.

Què és un Objecte?

Un objecte és una instància d'una classe. Quan es crea un objecte, es poden accedir a les propietats i mètodes definits en la classe.

Exemple de Creació d'Objecte

<?php
// Crear un objecte de la classe Cotxe
$elMeuCotxe = new Cotxe("Toyota", "Corolla", "blau");

// Accedir a les propietats i mètodes de l'objecte
echo $elMeuCotxe->descriure();
?>

Explicació del Codi

  • Creació d'Objecte: Utilitzem la paraula clau new per crear un objecte de la classe Cotxe. En aquest exemple, elMeuCotxe és un objecte de la classe Cotxe.
  • Accés a Propietats i Mètodes: Utilitzem l'operador -> per accedir a les propietats i mètodes de l'objecte. En aquest exemple, accedim al mètode descriure de l'objecte elMeuCotxe.

Exercicis Pràctics

Exercici 1: Crear una Classe i un Objecte

  1. Crea una classe anomenada Llibre amb les propietats titol, autor i preu.
  2. Afegeix un constructor que inicialitzi aquestes propietats.
  3. Afegeix un mètode anomenat descripcio que retorni una cadena amb la descripció del llibre.
  4. Crea un objecte de la classe Llibre i crida al mètode descripcio.

Solució

<?php
class Llibre {
    public $titol;
    public $autor;
    public $preu;

    public function __construct($titol, $autor, $preu) {
        $this->titol = $titol;
        $this->autor = $autor;
        $this->preu = $preu;
    }

    public function descripcio() {
        return "El llibre '$this->titol' de $this->autor costa $this->preu euros.";
    }
}

$elMeuLlibre = new Llibre("El Senyor dels Anells", "J.R.R. Tolkien", 20);
echo $elMeuLlibre->descripcio();
?>

Exercici 2: Afegir Mètodes Addicionals

  1. Afegeix un mètode anomenat aplicarDescompte a la classe Llibre que redueixi el preu del llibre en un percentatge donat.
  2. Crea un objecte de la classe Llibre, aplica un descompte i mostra la nova descripció.

Solució

<?php
class Llibre {
    public $titol;
    public $autor;
    public $preu;

    public function __construct($titol, $autor, $preu) {
        $this->titol = $titol;
        $this->autor = $autor;
        $this->preu = $preu;
    }

    public function descripcio() {
        return "El llibre '$this->titol' de $this->autor costa $this->preu euros.";
    }

    public function aplicarDescompte($percentatge) {
        $this->preu -= $this->preu * ($percentatge / 100);
    }
}

$elMeuLlibre = new Llibre("El Senyor dels Anells", "J.R.R. Tolkien", 20);
$elMeuLlibre->aplicarDescompte(10);
echo $elMeuLlibre->descripcio();
?>

Resum

En aquesta secció, hem après els conceptes bàsics de les classes i els objectes en PHP. Hem vist com definir una classe amb propietats i mètodes, com crear objectes a partir d'una classe i com accedir a les propietats i mètodes dels objectes. També hem practicat aquests conceptes amb exercicis pràctics.

En el següent tema, explorarem les propietats i mètodes amb més detall, incloent-hi la visibilitat (public, private, protected) i com utilitzar-los per encapsular dades i funcionalitats dins de les nostres classes.

Curs de Programació PHP

Mòdul 1: Introducció a PHP

Mòdul 2: Estructures de Control

Mòdul 3: Funcions

Mòdul 4: Arrays

Mòdul 5: Treballant amb Formularis

Mòdul 6: Treballant amb Fitxers

Mòdul 7: Programació Orientada a Objectes (OOP)

Mòdul 8: Treballant amb Bases de Dades

Mòdul 9: Tècniques Avançades de PHP

Mòdul 10: Frameworks PHP i Millors Pràctiques

Mòdul 11: Projecte: Construint una Aplicació Web

© Copyright 2024. Tots els drets reservats