Diferencia entre revisiones de «Plantilla:PHP/SintasixPHPOOP»
De WikiEducator
(→Herencia) |
|||
Línea 319: | Línea 319: | ||
</source> | </source> | ||
;:: | ;:: | ||
− | * | + | *Operador de resolución de ámbito |
− | *Se | + | *http://php.net/manual/es/language.oop5.paamayim-nekudotayim.php |
− | * | + | *Se utiliza para poder acceder a los elementos estáticos de la clase |
+ | *En la parte de la izquierda hay que especificar el dominio o elemento al que pertenece la propiedad o método estático. | ||
+ | *Podremos usar; | ||
+ | #nombre de clase, | ||
+ | #nombre del objeto | ||
+ | # '''''self''''' : si es dentro de la misma clase | ||
+ | # '''''parent''''' : si el elemento pertenece a la clase de la que heredo | ||
+ | #'''''static''''' Al igual que self se puede usar la palabra reservada static, para acceder a un elemento estático de la clase. | ||
+ | {{MRM_Ejemplo|Title=Resolución de ámbito| | ||
+ | El siguiente código aclara de forma completa estas posibilidades | ||
+ | <source lang=php> | ||
+ | class Clase1 { | ||
+ | //put your code here | ||
+ | const IVA = 21; | ||
+ | public static $numObj ; | ||
+ | public function __construct() { | ||
+ | self::$numObj++; | ||
+ | echo "En total hay ".Clase1::$numObj." objetos de esta clase e IVA = ".static::IVA."<br />" ; | ||
+ | } | ||
+ | |||
+ | } | ||
− | + | $obj1 = new Clase1(); | |
− | + | $obj2 = new Clase1(); | |
− | + | $obj3 = new Clase1(); | |
− | + | echo "<hr />"; | |
− | + | echo "El valor del atributo estático numObj lo puedo ver desde cualquier objeto de la clase <br />"; | |
− | + | echo "NumObj desde obj1 ".$obj1::$numObj. "<br />"; | |
− | + | echo "NumObj desde obj2 ".$obj2::$numObj. "<br />"; | |
− | + | echo "NumObj desde obj3 ".$obj3::$numObj. "<br />"; | |
− | .... | + | echo "NumObj desde en nombre de la clase ".Clase1::$numObj. "<br />"; |
− | + | ?> | |
− | |||
− | |||
</source> | </source> | ||
+ | *La salida que produciría el código sería | ||
+ | En total hay 1 objetos de esta clase e IVA = 21 | ||
+ | En total hay 2 objetos de esta clase e IVA = 21 | ||
+ | En total hay 3 objetos de esta clase e IVA = 21 | ||
+ | El valor del atributo estático numObj lo puedo ver desde cualquier objeto de la clase | ||
+ | NumObj desde obj1 3 | ||
+ | NumObj desde obj2 3 | ||
+ | NumObj desde obj3 3 | ||
+ | NumObj desde en nombre de la clase 3 | ||
+ | |||
+ | }} | ||
Línea 1055: | Línea 1084: | ||
--> | --> | ||
==::== | ==::== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Revisión de 10:30 30 nov 2016
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |