Clases y objetos en PHP

Clases y objetos en PHP

Hola. ¿Cómo están? Bienvenidos nuevamente al curso de PHP 8 nivel básico, hoy empezamos con la programación orientada a objetos POO, empezaremos definiendo qué son las clases y objetos en PHP 8.

¡Empecemos!

¿Qué es una clase?

En programación orientada a objetos (POO), una clase es un concepto fundamental que representa un modelo o plantilla para crear objetos. Una clase es una estructura de programación que encapsula datos (atributos) y comportamientos (métodos) relacionados en un solo objeto.

¿Qué es un objeto?

Un objeto en programación orientada a objetos se crea a partir de una instancia de una clase, tiene un estado (características, valores únicos) y un comportamiento (funcionalidades, acciones que sabe hacer). Cada objeto tiene propiedades y métodos intrínsecos, esto quiere decir si se cambia el comportamiento de sus valores o métodos de un objeto este no tiene que afectar a los demás objetos.

La sintaxis para definir una clase en PHP es la siguiente:

class NombreDeLaClase {
    // Propiedades (variables) de la clase
    public $propiedad1;
    private $propiedad2;
    protected $propiedad3;
    // Métodos (funciones) de la clase
    public function metodo1() {
        // Código del método
    }
    private function metodo2() {
        // Código del método
    }
    protected function metodo3() {
        // Código del método
    }
}

Ejemplos de clases y objetos en PHP

Ahora veremos algunos ejemplos de clases y objetos en PHP. En primer lugar, vamos a crear el archivo clases_objetos.php en el directorio de nuestro proyecto. Para ir probando los ejemplos abrimos nuestro navegador, en la ruta localhost:8080/curso_php8/clases_objetos.php.

Crear las clases

En primer lugar, vamos a crear una clase “Televisor”, esta clase tiene atributos como marca, modelo, color, tamaño y también tiene métodos como prender, cambiar de canal, apagar, etc.

Para crear una clase se comienza con la palabra reservada class, seguido del nombre que le asignemos a la clase y un par de llaves de apertura y cierre.

class Televisor{

}

Una clase tiene sus atributos y funciones, empecemos por crear los atributos de nuestra clase Televisor.

public $marca;
public $modelo;
public $color;
Public $tamanio;

Seguidamente, vamos a crear el constructor de la clase para iniciar los atributos con datos.

function __construct($marca, $modelo, $color, $tamanio){
    $this->marca = $marca;
    $this->modelo = $modelo;
    $this->color = $color;
    $this->tamanio = $tamanio;
}

Por otro lado, vamos a crear los métodos o funciones que van a interactuar con los atributos de la clase. Primero un método que devolverá la marca y el modelo del televisor concatenado.

public function marcaModelo(){
    return $this->marca . " modelo " . $this->modelo;
}

En segundo lugar, un método que calcula la antigüedad del televisor de acuerdo al modelo.

public function calcularAntiguedad(){
    $antiguedad = 0;
    for($i = $this->modelo; $i< date("Y"); $i++){
        $antiguedad++;
    }
    Return "La antiguedad del televisor es: " . $antiguedad;
}

Crear los objetos

Por último, vamos a crear un objeto que se instancie de la clase televisor, le pasamos los valores con que se iniciará los atributos del objeto.

$televisor = new Televisor("Samsung", 2018, "Negro", "42 Pulgadas");

Con el objeto creado vamos a llamar a los métodos, primero para concatenar la marca y el modelo y segundo para calcular los años de antigüedad del televisor.

echo $televisor->marcaModelo();
echo $televisor->calcularAntiguedad();

Veamos otro ejemplo, crearemos otro objeto con diferentes valores e igual utilizaremos los métodos de la clase Televisor.

$televisor2 = new Televisor("LG", 1995, "Plomo", "32 Pulgadas");
echo $televisor2->marcaModelo();
echo $televisor2->calcularAntiguedad();

Podemos ver los resultados en el navegador.

Ejercicios de la clase

1.- Definir una clase llamada Persona con atributos como nombre, edad y género y una función de presentación de la persona. 

2.- Crear una clase Libro con atributos como título, autor, número de páginas, año de publicación y dos funciones, una para mostrar la información del libro y otra para calcular los años de publicación del libro.

La programación orientada a objetos puede parecer complicada al principio debido a la introducción de nuevos conceptos, como clases, objetos, herencia, entre otros. Sin embargo, a medida que adquieras experiencia y practiques regularmente, se volverá mucho más sencillo.

Hasta aquí la clase de hoy clases y objetos en PHP 8, si tienes alguna consulta puedes dejarnos un comentario. En la próxima clase veremos lo que son herencias de objetos en PHP 8.

Saludos y éxitos.

Victor Peña

Victor Peña

Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.

Deja un comentario

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