50-metodos estaticos en php




¿Qué son los Métodos Estáticos?

Los **métodos estáticos** en PHP son funciones dentro de una clase que pueden ser llamadas **sin crear una instancia de la clase**. Se definen con la palabra clave static y se pueden invocar utilizando el nombre de la clase seguido de :: y el nombre del método.

Sintaxis de un Método Estático

<?php
class MiClase {
    public static function miMetodoEstatico() {
        echo "Hola, mundo!";
    }
}

// Llamada al método estático
MiClase::miMetodoEstatico();
?>

Salida esperada:

Hola, mundo!

Uso de Métodos Estáticos

Un método estático puede ser llamado dentro de la misma clase utilizando la palabra clave self seguida de :: y el nombre del método.

Ejemplo con self

<?php
class Saludo {
    public static function decirHola() {
        echo "¡Hola desde un método estático!";
    }

    public function __construct() {
        self::decirHola();
    }
}

new Saludo();
?>

Salida esperada:

¡Hola desde un método estático!

Más sobre Métodos Estáticos

Los métodos estáticos pueden ser llamados desde otras clases si son públicos. Para llamar a un método estático de otra clase, simplemente usa el nombre de la clase seguido de :: y el nombre del método.

Ejemplo llamando un método estático desde otra clase

<?php
class A {
    public static function mensaje() {
        echo "¡Hola desde la clase A!";
    }
}

class B {
    public function mostrarMensaje() {
        A::mensaje();
    }
}

$obj = new B();
$obj->mostrarMensaje();
?>

Salida esperada:

¡Hola desde la clase A!

Ejemplo usando parent:: en clases heredadas

Para llamar a un método estático de una clase padre desde una clase hija, se usa la palabra clave parent::.

<?php
class Dominio {
    protected static function obtenerNombre() {
        return "Ejemplo.com";
    }
}

class SubDominio extends Dominio {
    public function mostrarNombre() {
        return parent::obtenerNombre();
    }
}

$obj = new SubDominio();
echo $obj->mostrarNombre();
?>

Salida esperada:

Ejemplo.com

Publicar un comentario

0 Comentarios