En este tema, aprenderemos sobre las propiedades y métodos en la Programación Orientada a Objetos (POO) en PHP. Las propiedades y métodos son componentes fundamentales de las clases y objetos. Las propiedades son variables que pertenecen a una clase, mientras que los métodos son funciones que pertenecen a una clase.

Propiedades

Definición de Propiedades

Las propiedades son variables que se definen dentro de una clase. Se utilizan para almacenar datos o información sobre los objetos. Las propiedades pueden tener diferentes niveles de visibilidad: public, protected y private.

  • Public: Las propiedades públicas pueden ser accedidas desde cualquier lugar.
  • Protected: Las propiedades protegidas solo pueden ser accedidas dentro de la clase misma y por clases derivadas.
  • Private: Las propiedades privadas solo pueden ser accedidas dentro de la clase misma.

Ejemplo de Propiedades

<?php
class Persona {
    public $nombre;
    protected $edad;
    private $dni;

    public function __construct($nombre, $edad, $dni) {
        $this->nombre = $nombre;
        $this->edad = $edad;
        $this->dni = $dni;
    }
}

$persona = new Persona("Juan", 30, "12345678");
echo $persona->nombre; // Acceso permitido
// echo $persona->edad; // Error: propiedad protegida
// echo $persona->dni; // Error: propiedad privada
?>

En este ejemplo, nombre es una propiedad pública, edad es una propiedad protegida y dni es una propiedad privada.

Métodos

Definición de Métodos

Los métodos son funciones que se definen dentro de una clase. Se utilizan para definir el comportamiento de los objetos. Al igual que las propiedades, los métodos pueden tener diferentes niveles de visibilidad: public, protected y private.

Ejemplo de Métodos

<?php
class Persona {
    public $nombre;
    protected $edad;
    private $dni;

    public function __construct($nombre, $edad, $dni) {
        $this->nombre = $nombre;
        $this->edad = $edad;
        $this->dni = $dni;
    }

    public function saludar() {
        return "Hola, mi nombre es " . $this->nombre;
    }

    protected function obtenerEdad() {
        return $this->edad;
    }

    private function obtenerDni() {
        return $this->dni;
    }
}

$persona = new Persona("Juan", 30, "12345678");
echo $persona->saludar(); // Acceso permitido
// echo $persona->obtenerEdad(); // Error: método protegido
// echo $persona->obtenerDni(); // Error: método privado
?>

En este ejemplo, saludar es un método público, obtenerEdad es un método protegido y obtenerDni es un método privado.

Ejercicio Práctico

Ejercicio 1: Crear una Clase con Propiedades y Métodos

  1. Crea una clase llamada Coche con las siguientes propiedades:

    • marca (pública)
    • modelo (pública)
    • año (protegida)
    • kilometraje (privada)
  2. Define un constructor que inicialice estas propiedades.

  3. Crea un método público llamado detalles que devuelva una cadena con la marca, modelo y año del coche.

  4. Crea un método protegido llamado obtenerKilometraje que devuelva el kilometraje del coche.

  5. Crea un objeto de la clase Coche y muestra los detalles del coche utilizando el método detalles.

Solución

<?php
class Coche {
    public $marca;
    public $modelo;
    protected $año;
    private $kilometraje;

    public function __construct($marca, $modelo, $año, $kilometraje) {
        $this->marca = $marca;
        $this->modelo = $modelo;
        $this->año = $año;
        $this->kilometraje = $kilometraje;
    }

    public function detalles() {
        return "Marca: " . $this->marca . ", Modelo: " . $this->modelo . ", Año: " . $this->año;
    }

    protected function obtenerKilometraje() {
        return $this->kilometraje;
    }
}

$coche = new Coche("Toyota", "Corolla", 2020, 15000);
echo $coche->detalles(); // Marca: Toyota, Modelo: Corolla, Año: 2020
?>

Resumen

En esta sección, hemos aprendido sobre las propiedades y métodos en PHP. Las propiedades son variables que pertenecen a una clase y pueden tener diferentes niveles de visibilidad. Los métodos son funciones que pertenecen a una clase y también pueden tener diferentes niveles de visibilidad. Hemos visto ejemplos prácticos y realizado un ejercicio para reforzar los conceptos aprendidos.

En el próximo tema, exploraremos la Herencia en PHP, que nos permitirá crear clases derivadas que heredan propiedades y métodos de otras clases.

Curso de Programación en PHP

Módulo 1: Introducción a PHP

Módulo 2: Estructuras de Control

Módulo 3: Funciones

Módulo 4: Arrays

Módulo 5: Trabajando con Formularios

Módulo 6: Trabajando con Archivos

Módulo 7: Programación Orientada a Objetos (POO)

Módulo 8: Trabajando con Bases de Datos

Módulo 9: Técnicas Avanzadas de PHP

Módulo 10: Frameworks de PHP y Mejores Prácticas

Módulo 11: Proyecto: Construyendo una Aplicación Web

© Copyright 2024. Todos los derechos reservados