Vaya al Contenido

PHP Métodos Estáticos - SuperHispano

Saltar menú
SuperHispano
+34 012 345 678
info@example.com
España 03:19:18 sábado 07/02/26
Saltar menú
Saltar menú
Saltar menú
Taller > PHP > Program. Objetos

Métodos Estáticos en PHP


En la Programación Orientada a Objetos (OOP) en PHP, los métodos estáticos son métodos que se pueden invocar sin crear una instancia de la clase.
Los métodos estáticos se utilizan comúnmente cuando una función no depende del estado de un objeto y puede ser ejecutada de forma independiente.

¿Qué es un Método Estático en PHP?


Un método estático es aquel que pertenece a la clase en lugar de a una instancia específica de la clase. Esto significa que puedes llamar al método directamente utilizando el nombre de la clase, seguido de :: (doble dos puntos) y el nombre del método.

Sintaxis de un Método Estático:


<?php
class ClaseEjemplo {
public static function metodoEstatico() {
echo "¡Hola Mundo!";
}
}

// Llamar al método estático
ClaseEjemplo::metodoEstatico();
?>


En este ejemplo, el método metodoEstatico() es declarado como estático y se puede invocar directamente sin necesidad de crear un objeto de la clase.

Ejemplo básico de un método estático en PHP


Veamos cómo crear y utilizar un método estático en un escenario diferente:

<?php
class Calculadora {
public static function sumar($a, $b) {
return $a + $b;
}
}

// Llamar al método estático sumar
echo Calculadora::sumar(5, 10);
?>


Explicación del código


Clase Calculadora: Contiene un método estático sumar() que toma dos parámetros y devuelve la suma de estos.
Método estático sumar(): Se puede llamar directamente usando el nombre de la clase, sin necesidad de crear un objeto.
Invocación: Calculadora::sumar(5, 10) devuelve la suma de 5 y 10.

Métodos Estáticos en Clases con Métodos No Estáticos


Una clase en PHP puede tener tanto métodos estáticos como no estáticos. Los métodos estáticos pueden ser llamados desde métodos no estáticos usando la palabra clave self.

Ejemplo de clase con métodos estáticos y no estáticos:


<?php
class ConversorTemperatura {
public static function celsiusAFahrenheit($celsius) {
return $celsius * 9 / 5 + 32;
}

public function mostrarConversion($celsius) {
$fahrenheit = self::celsiusAFahrenheit($celsius);
echo "{$celsius}°C es igual a {$fahrenheit}°F\n";
}
}

$conv = new ConversorTemperatura();
$conv->mostrarConversion(25);
?>


Explicación del código


Método estático celsiusAFahrenheit(): Realiza la conversión de grados Celsius a Fahrenheit.
Método no estático mostrarConversion(): Llama al método estático usando self:: para mostrar la conversión.
Instancia de la clase ConversorTemperatura: Aunque el método mostrarConversion es no estático, utiliza el método estático dentro de su lógica.

Métodos Estáticos Accedidos desde Otras Clases


Los métodos estáticos también pueden ser llamados desde otras clases, lo que es útil cuando se desea compartir funcionalidad entre varias clases.

Ejemplo: Llamando a un método estático desde otra clase


<?php
class Conversion {
public static function kilometrosAMillas($kilometros) {
return $kilometros * 0.621371;
}
}

class Ruta {
public function mostrarDistanciaEnMillas($kilometros) {
$millas = Conversion::kilometrosAMillas($kilometros);
echo "{$kilometros} km es igual a {$millas} millas.\n";
}
}

$ruta = new Ruta();
$ruta->mostrarDistanciaEnMillas(100);
?>


Explicación del código


Clase Conversion: Contiene un método estático kilometrosAMillas() que convierte kilómetros a millas.
Clase Ruta: Usa el método estático de Conversion para realizar la conversión y mostrar el resultado.
Invocación: Se crea una instancia de Ruta, que utiliza el método estático de Conversion para mostrar la distancia convertida.

Métodos Estáticos y Herencia


Al heredar de una clase, los métodos estáticos protegidos o públicos de la clase padre también pueden ser llamados desde la clase hija utilizando la palabra clave parent.

Ejemplo de herencia con métodos estáticos:


<?php
class Operaciones {
protected static function obtenerConstantePi() {
return 3.1416;
}
}

class Circulo extends Operaciones {
public $radio;

public function __construct($radio) {
$this->radio = $radio;
}

public function calcularArea() {
return parent::obtenerConstantePi() * pow($this->radio, 2);
}
}

$circulo = new Circulo(10);
echo "El área del círculo es: " . $circulo->calcularArea();
?>


Explicación del código


Método estático obtenerConstantePi(): Es un método estático protegido que devuelve el valor de pi.
Clase hija Circulo: Usa el método estático obtenerConstantePi() de la clase padre Operaciones para calcular el área de un círculo.
Invocación: Se crea una instancia de Circulo y se llama al método calcularArea(), que usa el método estático de la clase padre.

Conclusión


Los métodos estáticos en PHP proporcionan una forma flexible y eficiente de acceder a funcionalidades comunes sin necesidad de crear instancias de una clase.
Son ideales para operaciones que no dependen del estado de un objeto en particular y pueden ser compartidos fácilmente entre clases o dentro de la jerarquía de herencia.
Aunque los métodos estáticos son poderosos, es importante usarlos con moderación, ya que su uso excesivo puede llevar a una disminución en la flexibilidad del código.
+34 012 345 678
+34 012 345 678 (fax)
example@superhispano.com
Creado con WebSite X5
Regreso al contenido
Icono de la aplicación
SuperHispano Instale esta aplicación en su pantalla de inicio para una mejor experiencia
Toque Botón de instalación en iOS y luego "Agregar a su pantalla"