La programación orientada a objetos (OOP) en PHP es un paradigma de programación que se basa en el uso de “objetos”. Un objeto se puede entender como una instancia de una “clase”, que es una plantilla que define propiedades (atributos) y métodos (funciones) que los objetos creados a partir de la clase pueden usar. Este modelo de programación permite organizar el código de manera más eficiente y modular, facilitando la administración y reutilización del mismo.
1. Clases y Objetos: – Una clase es una plantilla para crear objetos. Define propiedades y métodos que los objetos de esa clase tendrán. – Un objeto es una instancia de una clase. A través de los objetos, se puede acceder a los atributos y métodos definidos en la clase.
Ejemplo en PHP: ```php class Coche { public $color; public $marca; public function __construct($color, $marca) { $this->color = $color; $this->marca = $marca; } public function mostrarInfo() { return “Este coche es un “ . $this->marca . “ y es de color “ . $this->color . “.”; } } $miCoche = new Coche(“rojo”, “Toyota”); echo $miCoche->mostrarInfo(); // Este coche es un Toyota y es de color rojo. ```2. Encapsulamiento: – Este principio establece la idea de ocultar los datos de un objeto y sólo exponer una interfaz controlada a quienes interactúan con el objeto. Esto se logra usando modificadores de acceso como public, private y protected.
Ejemplo en PHP: ```php class Persona { private $nombre; private $edad; public function __construct($nombre, $edad) { $this->nombre = $nombre; $this->edad = $edad; } public function getNombre() { return $this->nombre; } public function setNombre($nombre) { $this->nombre = $nombre; } } $persona = new Persona(“Juan”, 30); echo $persona->getNombre(); // Juan ```3. Herencia: – La herencia permite crear nuevas clases que extienden otras clases. De esta forma, una clase hija puede heredar las propiedades y métodos de una clase padre, y también añadir sus propias propiedades y métodos adicionales.
Ejemplo en PHP: ```php class Animal { public $nombre; public function __construct($nombre) { $this->nombre = $nombre; } public function hacerSonido() { return “El animal hace un sonido”; } } class Perro extends Animal { public function hacerSonido() { return “El perro ladra”; } } $perro = new Perro(“Fido”); echo $perro->hacerSonido(); // El perro ladra ```4. Polimorfismo: – El polimorfismo permite que diferentes clases respondan al mismo método de maneras distintas. En PHP, esto se suele lograr mediante herencia y/o interfaces.
Ejemplo en PHP: ```php interface Figura { public function area(); } class Circulo implements Figura { private $radio; public function __construct($radio) { $this->radio = $radio; } public function area() { return pi() * pow($this->radio, 2); } } class Rectangulo implements Figura { private $ancho; private $alto; public function __construct($ancho, $alto) { $this->ancho = $ancho; $this->alto = $alto; } public function area() { return $this->ancho * $this->alto; } } $circulo = new Circulo(5); $rectangulo = new Rectangulo(4, 6); echo $circulo->area(); // 78.539816339745 echo $rectangulo->area(); // 24 ```
Estos principios son fundamentales para entender y utilizar la programación orientada a objetos en PHP, proporcionando una estructura que facilita el desarrollo, mantenimiento y escalabilidad de las aplicaciones.