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
- 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.
- 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.
- 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.
- 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.
- 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
-
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.
- La classe
-
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.
- Es crea una nova instància de la classe
Exercici Pràctic
Exercici 1: Crear una Classe i un Objecte
- Crea una classe anomenada
Persona
amb les següents propietats:nom
,edat
iciutat
. - Afegeix un constructor que inicialitzi aquestes propietats.
- Afegeix un mètode anomenat
presentar
que retorni una cadena amb el format: "Hola, em dic [nom], tinc [edat] anys i visc a [ciutat]." - Crea una instància de la classe
Persona
i crida el mètodepresentar
.
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
- Què és PHP?
- Configuració de l'Entorn de Desenvolupament
- El teu Primer Script PHP
- Sintaxi i Variables de PHP
- Tipus de Dades en PHP
Mòdul 2: Estructures de Control
Mòdul 3: Funcions
- Definició i Crida de Funcions
- Paràmetres de Funció i Valors de Retorn
- Àmbit de Variables
- Funcions Anònimes i Closures
Mòdul 4: Arrays
Mòdul 5: Treballant amb Formularis
Mòdul 6: Treballant amb Fitxers
- Lectura i Escriptura de Fitxers
- Funcions de Gestió de Fitxers
- Permisos de Fitxers
- Funcions de Directori
Mòdul 7: Programació Orientada a Objectes (OOP)
- Introducció a OOP
- Classes i Objectes
- Propietats i Mètodes
- Herència
- Interfícies i Classes Abstractes
- Traits
Mòdul 8: Treballant amb Bases de Dades
- Introducció a les Bases de Dades
- Connexió a una Base de Dades MySQL
- Realització d'Operacions CRUD
- Ús de PDO per a la Interacció amb Bases de Dades
- Seguretat en Bases de Dades
Mòdul 9: Tècniques Avançades de PHP
- Gestió d'Errors i Excepcions
- Sessions i Cookies
- Expressions Regulars
- Treballant amb JSON i XML
- PHP i Serveis Web
Mòdul 10: Frameworks PHP i Millors Pràctiques
- Introducció als Frameworks PHP
- Començant amb Laravel
- Arquitectura MVC
- Millors Pràctiques en Desenvolupament PHP
- Proves i Depuració