La Programació Orientada a Objectes (OOP) és un paradigma de programació que utilitza "objectes" per dissenyar aplicacions i programes. Els objectes poden contenir dades, en forma de camps, sovint coneguts com a atributs; i codi, en forma de procediments, sovint coneguts com a mètodes. La OOP permet als desenvolupadors crear aplicacions més modulars, reutilitzables i fàcils de mantenir.

Conceptes Clau de la OOP

  1. Classes i Objectes

  • Classe: És un plànol o plantilla per crear objectes. Defineix un conjunt d'atributs i mètodes que els objectes creats a partir de la classe tindran.
  • Objecte: És una instància d'una classe. Cada objecte pot tenir diferents valors per als seus atributs, però comparteix la mateixa estructura i comportament definit per la classe.

  1. Propietats i Mètodes

  • Propietats: Són variables que pertanyen a una classe o objecte. També es coneixen com a atributs o camps.
  • Mètodes: Són funcions que pertanyen a una classe o objecte. Defineixen el comportament dels objectes.

  1. Encapsulació

  • Encapsulació: És el procés de restringir l'accés a certs components d'un objecte. Això es fa per protegir les dades i assegurar que només es puguin modificar de maneres controlades.

  1. Herència

  • Herència: Permet crear una nova classe basada en una classe existent. La nova classe hereta els atributs i mètodes de la classe base, però també pot tenir els seus propis atributs i mètodes.

  1. Polimorfisme

  • Polimorfisme: Permet que diferents classes es tractin com si fossin de la mateixa classe base. Això és útil per a la reutilització de codi i per a la creació de sistemes més flexibles.

Exemple Pràctic

A continuació, es mostra un exemple pràctic de com crear una classe i un objecte en PHP.

Definició d'una 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.";
    }
}
?>

Creació d'un Objecte

<?php
// Crear una instància de la classe Cotxe
$elMeuCotxe = new Cotxe("Toyota", "Corolla", "blau");

// Cridar un mètode de l'objecte
echo $elMeuCotxe->descriure();
?>

Explicació del Codi

  1. Definició de la Classe:

    • La classe Cotxe té tres propietats: $marca, $model i $color.
    • El constructor __construct inicialitza aquestes propietats quan es crea un nou objecte.
    • El mètode descriure retorna una cadena que descriu el cotxe.
  2. Creació de l'Objecte:

    • Es crea una nova instància de la classe Cotxe amb els valors "Toyota", "Corolla" i "blau".
    • Es crida el mètode descriure de l'objecte $elMeuCotxe, que retorna la descripció del cotxe.

Exercici Pràctic

Exercici 1: Crear una Classe i un Objecte

  1. Crea una classe anomenada Persona amb les següents propietats: nom, edat i ciutat.
  2. Afegeix un constructor que inicialitzi aquestes propietats.
  3. Afegeix un mètode anomenat presentar que retorni una cadena amb el format: "Hola, em dic [nom], tinc [edat] anys i visc a [ciutat]."
  4. Crea una instància de la classe Persona i crida el mètode presentar.

Solució

<?php
class Persona {
    // Propietats
    public $nom;
    public $edat;
    public $ciutat;

    // Constructor
    public function __construct($nom, $edat, $ciutat) {
        $this->nom = $nom;
        $this->edat = $edat;
        $this->ciutat = $ciutat;
    }

    // Mètode
    public function presentar() {
        return "Hola, em dic $this->nom, tinc $this->edat anys i visc a $this->ciutat.";
    }
}

// Crear una instància de la classe Persona
$persona = new Persona("Joan", 30, "Barcelona");

// Cridar el mètode presentar
echo $persona->presentar();
?>

Conclusió

En aquesta secció, hem introduït els conceptes bàsics de la Programació Orientada a Objectes (OOP) en PHP. Hem après sobre classes, objectes, propietats, mètodes, encapsulació, herència i polimorfisme. També hem vist un exemple pràctic de com crear una classe i un objecte, i hem realitzat un exercici per reforçar els conceptes apresos. En la següent secció, aprofundirem en les classes i objectes, explorant més detalls i funcionalitats avançades.

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