Herramientas de usuario

Herramientas del sitio


informatica:programacion:php:poo

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
informatica:programacion:php:poo [2021/03/27 18:06] – creado tempwininformatica:programacion:php:poo [2021/03/27 18:20] (actual) – [Propiedades y métodos estáticos] tempwin
Línea 4: Línea 4:
  
 <code php> <code php>
-// Visibilidad pública (visibilidad global) +class Persona { 
-public $propiedad1+    // Visibilidad pública (visibilidad global) 
 +    public $propiedad1
  
-// Visibilidad privada (solo dentro de la clase) +    // Visibilidad privada (solo dentro de la clase) 
-private $propiedad2+    private $propiedad2
  
-// Visibilidade protegida (solo subclases) +    // Visibilidade protegida (solo subclases) 
-protected $propiedad3+    protected $propiedad3 
 +}
 </code> </code>
  
-Propiedades y métodos estáticos+===== Propiedades y métodos estáticos ===== 
 + 
 +Las propiedades y métodos estáticos se usan cuando no pertenecen a las clases, pero los incluimos porque tienen relación, como si fuese una forma de categorizarlos.
  
 <code php> <code php>
Línea 22: Línea 26:
     private $nombre;     private $nombre;
          
-    static $mayoria_edad = 18;+    public static $mayoria_edad = 18;
  
 } }
 </code> </code>
  
-Cuando un método o propiedad es estática quiere decir que no necesitamos crear un objeto para acceder a él:+Cuando un método o propiedad es estática quiere decir que no necesitamos crear un objeto para acceder a él, utilizamos el nombre de la clase:
  
 <code php> <code php>
 echo Persona::$mayoria_edad; // 18 echo Persona::$mayoria_edad; // 18
 +</code>
 +
 +<WRAP center round info 60%>
 +Para hacer referencia a un método estático o propiedad estática, se utiliza un par de dos puntos (''::''), conocido como "operador de resolución de ámbito" (//scope resolution operator//). En PHP también se le conoce como //Paamayim Nekudotayim//, que significa doble dos-puntos en hebreo.
 +</WRAP>
 +
 +
 +Lo mismo con los métodos:
 +
 +<code php>
 +class Persona {
 +(...)
 +    public static function setMayoriaEdad($newMayoriaEdad) {
 +        self::$mayoria_edad = $newMayoriaEdad;
 +    }
 +</code>
 +
 +<WRAP center round info 60%>
 +Para referirnos a un método o propiedad de la clase, utilizamos la palabra reservada ''self'', como cuando usamos ''$this''.
 +</WRAP>
 +
 +
 +Y lo usaríamos:
 +
 +<code php>
 +Persona::setMayoriaEdad(21);
 +echo $Persona::$mayoriaEdad; // 21
 </code> </code>
informatica/programacion/php/poo.1616864770.txt.gz · Última modificación: por tempwin