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 21:30 29 nov 2016
| Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |

