Documentación offline PHP master

La clase Override

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

Introducción#

Este atributo se utiliza para indicar que un método o una propiedad está destinado a sobrescribir un método o una propiedad de una clase padre o que implementa un método o una propiedad definido en una interfaz.

Si no existe ningún método o propiedad con el mismo nombre en una clase padre o en una interfaz implementada, se emitirá un error de compilación.

El atributo solo puede ser utilizado con el método __construct(), que está excluido de las verificaciones de firma.

Sinopsis de la clase#

#[\Attribute]

final

Override

Métodos

Historial de cambios#

Versión Descripción
8.5.0 Override puede ser aplicado a propiedades.

Ejemplos#

Uso con métodos

<?php

class Base {
    protected function foo(): void {}
}

final class Extended extends Base {
    #[\Override]
    protected function boo(): void {}
}

?>

Resultado del ejemplo anterior en PHP 8.3 es similar a:

Fatal error: Extended::boo() has #[\Override] attribute, but no matching parent method exists

Uso con propiedades

<?php

class Base {
    protected string $foo;
}

final class Extended extends Base {
    #[\Override]
    protected string $boo;
}

?>

La salida del ejemplo anterior en PHP 8.5 es similar a:

Fatal error: Extended::$boo has #[\Override] attribute, but no matching parent property exists

Véase también#

Visión general de los atributos