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
- Crea una classe anomenada
Persona
amb les propietats públiquesnom
iedat
. - 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
- Modifica la classe
Persona
per fer que la propietatedat
sigui privada. - Afegeix un mètode públic
obtenirEdat()
per accedir a la propietatedat
.
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
- 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ó