Palabra clave final en PHP

La palabra clave final en PHP se usa en diferentes contextos. La palabra clave final se usa solo para métodos y clases.
palabra clave final
Métodos finales: cuando un método se declara como final, no se puede realizar la anulación de ese método. Los métodos se declaran como definitivos debido a algunas razones de diseño. El método no debe anularse debido a la seguridad o cualquier otra razón.

Ejemplo:

<?php
  
// Program to understand use of 
// final keyword for methods
class Base {
      
    // Final method
    final function printdata() {
        echo " Base class final printdata function";
    }
      
    // Non final method
    function nonfinal() {
        echo "\n This is nonfinal function of base class";
    }
}
  
// Class that extend base class
class Derived extends Base {
      
    // Inheriting method nonfinal 
    function nonfinal() {
        echo "\n Derived class non final function";
    }
      
    // Here printdata function can
    // not be overridden
}
  
$obj = new Derived;
$obj->printdata();
$obj->nonfinal();
?>
Producción:

Base class final printdata function
 Derived class non final function

Clases Finales: Una clase declarada como final no puede ser prorrogada en el futuro. Las clases se declaran como finales debido a algún problema de nivel de diseño. El creador de la clase declara esa clase como final si quiere que esa clase no se herede debido a alguna seguridad u otras razones. Una clase final puede contener métodos finales y no finales. Pero no hay uso de métodos finales en la clase cuando la clase misma se declara como final porque la herencia no es posible.

Ejemplo:

<?php
  
// Program to understand final classes
// in php
final class Base {
      
    // Final method
    final function printdata() {
        echo "final base class final method";
    }
          
    // Non final method
    function nonfinal() {
        echo "\nnon final method of final base class";
    }
}
  
$obj = new Base;
$obj->printdata();
$obj->nonfinal();
  
/* If we uncomment these lines then it will
show Class Derived may not inherit from final
class (Base)
class Derived extends Base {
      
} */
?>
Producción:

final base class final method
non final method of final base class

Nota: A diferencia de Java, la palabra clave final en PHP solo se puede usar para métodos y clases, no para variables.

Publicación traducida automáticamente

Artículo escrito por ankit15697 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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