Saltar al contenido
Home » Blog » Programación orientada a objetos en PHP

Programación orientada a objetos en PHP

La programación orientada a objetos (POO) es un paradigma de programación que se basa en el concepto de «objeto» y que permite modelar la realidad mediante la creación de clases y objetos que representan entidades del mundo real.

En PHP, la programación orientada a objetos se implementa mediante la creación de clases que definen los atributos y comportamientos de una entidad. Estas clases pueden contener atributos que representan las propiedades de la entidad y métodos que representan las acciones que pueden realizar la entidad.

Por ejemplo, se puede crear una clase Persona que contenga atributos como nombre y edad y métodos como saludar() que muestre un saludo con el nombre y la edad de la persona. Luego, se pueden crear objetos de la clase Persona, cada uno con sus propios valores para los atributos nombre y edad, y llamar a sus métodos para realizar acciones específicas.

En resumen, la programación orientada a objetos en PHP permite modelar la realidad mediante la creación de clases que representan entidades del mundo real y la utilización de objetos de estas clases para representar entidades concretas con sus propios atributos y comportamientos. Esto permite una mejor organización y reutilización del código en aplicaciones de PHP.

Ejemplo básico de POO en PHP

A continuación se muestra un trozo de código en PHP que ilustra el uso de la programación orientada a objetos:

<?php
// Clase Persona
class Persona {
  public $nombre;
  public $edad;
  public function __construct($nombre, $edad) {
    $this->nombre = $nombre;
    $this->edad = $edad;
  }
  public function saludar() {
    echo "Hola, mi nombre es " . $this->nombre . " y tengo " . $this->edad . " años.<br>";
  }
}
// Creación de dos personas
$persona1 = new Persona("Juan", 25);
$persona2 = new Persona("Ana", 30);
// Saludo de las dos personas
$persona1->saludar();
$persona2->saludar();
?>

En este código se crea una clase Persona que representa a una persona y contiene dos atributos: nombre, que representa el nombre de la persona, y edad, que representa la edad de la persona. La clase Persona incluye un método saludar() que muestra un saludo con el nombre y la edad de la persona.

Luego, se crean dos objetos de la clase Persona, representando a dos personas diferentes, y se llama al método saludar() de cada una para mostrar sus saludos por pantalla.

Este ejemplo ilustra cómo la programación orientada a objetos permite crear clases que representan entidades del mundo real y utilizar estas clases para crear objetos con sus propios atributos y comportamientos.

Ejemplo más complejo de POO en PHP

A continuación se muestra un trozo de código en PHP que gestiona un equipo de fútbol:

<?php
// Clase Jugador
class Jugador {
  public $nombre;
  public $edad;
  public $posicion;
  public function __construct($nombre, $edad, $posicion) {
    $this->nombre = $nombre;
    $this->edad = $edad;
    $this->posicion = $posicion;
  }
}
// Clase Equipo
class Equipo {
  public $nombre;
  public $jugadores = array();
  public function __construct($nombre) {
    $this->nombre = $nombre;
  }
  public function agregarJugador($jugador) {
    $this->jugadores[] = $jugador;
  }
  public function mostrarEquipo() {
    echo "Equipo: " . $this->nombre . "<br><br>";
    echo "Jugadores:<br>";
    foreach ($this->jugadores as $jugador) {
      echo $jugador->nombre . " (" . $jugador->edad . " años, " . $jugador->posicion . ")<br>";
    }
  }
}
// Creación del equipo
$equipo = new Equipo("Elche CF");
// Agregar jugadores al equipo
$equipo->agregarJugador(new Jugador("Edgar Badia", 30, "Portero"));
$equipo->agregarJugador(new Jugador("Gonzalo Verdú", 34, "Defensa"));
$equipo->agregarJugador(new Jugador("Omar Mascarell", 29, "Mediocampista"));
$equipo->agregarJugador(new Jugador("Lucas Boyé", 26, "Delantero"));
// Mostrar equipo
$equipo->mostrarEquipo();
?>

En este código se crean dos clases: Jugador y Equipo. La clase Jugador representa a un jugador de fútbol y contiene tres atributos: nombre, edad y posicion, que representan el nombre del jugador, su edad y su posición en el campo, respectivamente. La clase Equipo representa a un equipo de fútbol y contiene dos atributos: nombre, que representa el nombre del equipo, y jugadores, que es un array que contiene a los jugadores del equipo.

La clase Equipo incluye un método agregarJugador() que permite agregar un jugador al equipo y un método mostrarEquipo() que muestra el nombre del equipo y los jugadores que lo conforman.

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *