Diferencia entre revisiones de «Plantilla:PHP/SintasixPHPOOP 1»
De WikiEducator
(→Pilares básicos de la POO) |
(→Pilares básicos de la POO) |
||
(Una revisión intermedia por el mismo usuario no mostrado) | |||
Línea 123: | Línea 123: | ||
</source> | </source> | ||
*Fíjate en el operador (seudovariable) $this, hace referencia al objeto actual, el que esté en memoria | *Fíjate en el operador (seudovariable) $this, hace referencia al objeto actual, el que esté en memoria | ||
− | {{ | + | {{MRM_Pregunta| |
Qué pasaría si pusiera $dia en lugar de $this->dia | Qué pasaría si pusiera $dia en lugar de $this->dia | ||
}} | }} | ||
Línea 142: | Línea 142: | ||
* | * | ||
*Para esto, inicializar el objeto, tenemos | *Para esto, inicializar el objeto, tenemos | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Declarando objetos: Operador '''''new'''''=== | === Declarando objetos: Operador '''''new'''''=== |
Última revisión de 03:26 26 mar 2019
Los atributos
- Para definir los atributos hay que especificar antes del nombre su visibilidad
- Establece si ese atributo puede ser accedido o no fuera de la clase
- Tenemos tres tipos de visibilidad
- private
Solo se puede acceder al atributo dentro de la propia clase
- public
Se puede acceder al atributo en cualquier sitio donde esté el objeto
- protected
Solo se puede acceder al atributo dentro de la propia clase y de las clases que hereden de ella (ya lo veremos en herencia).
|
- Otro ejemplo importante son los métodos __toString() y __call($function, $paramters)
__toString()
| |
class Racional { //put your code here private $num; private $den; public function __construct($num, $den){ $this->num = $num; $this->den = $den; } public function __toString(){ return ("$this->num/$this->den"); } } $r1 = new Racional (8,5); echo "Valor del objeto r1 = $r1"; ?>
Valor del objeto r1 = 8/5
|
1.- $metodo es el nombre del método invocado 1.- $parametros es un array indexado con la lista de los parámetros con los que invocamos a la función |
uso de __call($metodo, $parametros )
| |
class Racional { //put your code here private $num; private $den; public function __construct($num, $den){ $this->num = $num; $this->den = $den; } public function __call($funcion, $argumentos){ echo "<h2>Has invocado a un método que no existe en esta clase </h2>"; echo "Nombre de la función <strong>$funcion</strong><br />"; echo "Lista de parámetros<br />"; foreach ($argumentos as $param => $valor){ echo "parámetro <strong>$param</strong> = <strong>".print_r($valor, true). "</strong> <br />"; //Poner en print_r el segundo parámetro a true, //hace que esa función en lugar de imprimir, retorna el valor. } } } } $r1 = new Racional(5,4); $r1->metodoInventado1(5,4,5,6,7); $r1->otroMetodoSinParametros(); $r1->otroMetodo([1,2,3],"parametro2", 5,"ultimo parametro"); ?>
|