Funciones o Métodos de Classes PHP

Funciones o Métodos de Classes PHP

Sin valoraciones

Aprende todo lo que necesitas saber sobre las funciones o métodos de las Classes de PHP


Funciones o Métodos de las Classes en PHP

Una vez tengamos la class creada podremos crear los métodos (funciones internas de la class) para interactuar con el objecto que creemos a partir de ésta.

Podemos definir functions de tipo public, private o protected que modifiquen al objeto de la class.

Siguiendo con la class Animal añadiremos un método para asignar un sonido al animal. Por ejemplo “Guau” para hacer referencia a un perro.

class Animal {
    ...
    public function setSonido()
    {
        $this->sonido = 'Guau';
    }
}

De esta manera, cuando ejecutemos la función $animal->setSonido() automáticamente ejecutaremos la función y se añadirá “Guau” en la propiedad $sonido del objeto $animal.

$animal->setSonido();

Pero esto no tiene mucho sentido. Ya que el “Guau” debería ser para perros y no para animales en general. ¿Qué podemos hacer?

Podríamos completar la función __construct para que además del nombre llame a todos los métodos posibles para tener el objeto creado. Como estaremos trabajando dentro de la misma class debemos usar el $this para interectuar con las propiedades de ésta:

class Animal
{
    public $nombre;
    public $animal;
    public $raza;
    public $sonido;
    public $peligroso;

    public function __construct(string $nombre = '')
    {
        $this->nombre = $nombre;
        $this->setAnimal();
        $this->setSonido();
        $this->setPeligroso();
        $this->setRaza();
    }

    public function setRaza() {
        $this->raza = null;
    }

    public function setAnimal()
    {
        $this->animal = 'Perro';
    }

    public function setSonido()
    {
        $this->sonido = 'Guau';
    }

    public function setPeligroso()
    {
        $this->peligroso = false;
    }
}

Además de funciones de tipo setter (asignar variables a las propiedades) podemos añadir inteligencia al objeto. Vamos a hacer que dependiendo de las variables actúe de una manera u otro.

Por ejemplo, a la class Animal vamos a preguntarle si es peligroso y que nos devuelva un mensaje que dependa de si es, o no, peligroso.

public function esPeligroso()
{
	return $this->peligroso ? '¡¡Es peligroso!!' : 'No és peligroso';
}


Valoración de la Información

Deja una respuesta

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