En aquest tema, explorarem les propietats i els mètodes en la Programació Orientada a Objectes (OOP) amb PHP. Les propietats i els mètodes són elements fonamentals de les classes que permeten definir l'estat i el comportament dels objectes.

Propietats

Les propietats són variables que es defineixen dins d'una classe. Representen l'estat o les característiques d'un objecte. Les propietats poden tenir diferents nivells de visibilitat: pública, protegida o privada.

Exemple de Propietats

class Cotxe {
    public $marca;
    public $model;
    private $any;
    
    public function __construct($marca, $model, $any) {
        $this->marca = $marca;
        $this->model = $model;
        $this->any = $any;
    }
    
    public function obtenirAny() {
        return $this->any;
    }
}

$cotxe = new Cotxe("Toyota", "Corolla", 2020);
echo $cotxe->marca; // Sortida: Toyota
echo $cotxe->obtenirAny(); // Sortida: 2020

Explicació

  • $marca i $model són propietats públiques, accessibles des de fora de la classe.
  • $any és una propietat privada, només accessible des de dins de la classe.
  • El mètode obtenirAny() permet accedir a la propietat privada $any.

Mètodes

Els mètodes són funcions definides dins d'una classe. Representen el comportament dels objectes i poden manipular les propietats de la classe.

Exemple de Mètodes

class Cotxe {
    public $marca;
    public $model;
    private $any;
    
    public function __construct($marca, $model, $any) {
        $this->marca = $marca;
        $this->model = $model;
        $this->any = $any;
    }
    
    public function obtenirDescripcio() {
        return $this->marca . " " . $this->model . " (" . $this->any . ")";
    }
}

$cotxe = new Cotxe("Toyota", "Corolla", 2020);
echo $cotxe->obtenirDescripcio(); // Sortida: Toyota Corolla (2020)

Explicació

  • El mètode obtenirDescripcio() retorna una cadena que descriu el cotxe utilitzant les propietats $marca, $model i $any.

Exercicis Pràctics

Exercici 1: Crear una Classe Persona

  1. Crea una classe anomenada Persona amb les propietats públiques nom i edat.
  2. Afegeix un mètode presentar() que retorni una cadena amb el nom i l'edat de la persona.
class Persona {
    public $nom;
    public $edat;
    
    public function __construct($nom, $edat) {
        $this->nom = $nom;
        $this->edat = $edat;
    }
    
    public function presentar() {
        return "Hola, em dic " . $this->nom . " i tinc " . $this->edat . " anys.";
    }
}

$persona = new Persona("Joan", 30);
echo $persona->presentar(); // Sortida: Hola, em dic Joan i tinc 30 anys.

Exercici 2: Propietats Privades i Mètodes Accessors

  1. Modifica la classe Persona per fer que la propietat edat sigui privada.
  2. Afegeix un mètode públic obtenirEdat() per accedir a la propietat edat.
class Persona {
    public $nom;
    private $edat;
    
    public function __construct($nom, $edat) {
        $this->nom = $nom;
        $this->edat = $edat;
    }
    
    public function presentar() {
        return "Hola, em dic " . $this->nom . " i tinc " . $this->obtenirEdat() . " anys.";
    }
    
    public function obtenirEdat() {
        return $this->edat;
    }
}

$persona = new Persona("Joan", 30);
echo $persona->presentar(); // Sortida: Hola, em dic Joan i tinc 30 anys.

Resum

En aquesta secció, hem après sobre les propietats i els mètodes en PHP:

  • Propietats: Variables dins d'una classe que representen l'estat d'un objecte.
  • Mètodes: Funcions dins d'una classe que defineixen el comportament d'un objecte.
  • Visibilitat: Les propietats i els mètodes poden ser públics, protegits o privats.

Aquestes eines són fonamentals per treballar amb la Programació Orientada a Objectes i permeten crear codi més organitzat i modular. En el següent tema, explorarem l'herència, que permet reutilitzar i estendre el codi de les classes existents.

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