Diferencia entre revisiones de «Plantilla:PHP/SintasixPHPOOP»
De WikiEducator
Línea 1: | Línea 1: | ||
+ | <div class="slide"> | ||
===OPP En php=== | ===OPP En php=== | ||
*PHP no se diseñó como lenguaje orientado a objetos, por lo que muchas de las características de este paradigma se han ido incorporando en las últimas versiones, especialmente a partir de la versión 5.3. | *PHP no se diseñó como lenguaje orientado a objetos, por lo que muchas de las características de este paradigma se han ido incorporando en las últimas versiones, especialmente a partir de la versión 5.3. | ||
Línea 30: | Línea 31: | ||
Vamos a crear una clase llamada fecha | Vamos a crear una clase llamada fecha | ||
*Atributos de la clase (dia, mes, year) | *Atributos de la clase (dia, mes, year) | ||
− | *Métodos (obtener la fecha como una cadena de caracteres | + | *Métodos ''verFecha'' (obtener la fecha como una cadena de caracteres) |
+ | <source lang =php> | ||
+ | <?php | ||
+ | |||
+ | class Fecha { | ||
+ | private $dia; | ||
+ | private $mes; | ||
+ | private $year; | ||
+ | |||
+ | /** | ||
+ | * | ||
+ | * @param int $dia | ||
+ | * @param int $mes | ||
+ | * @param int $year | ||
+ | * Método con el nombre de la clase que se ejecuta cuando se instancia un objeto | ||
+ | * Recibe tres parámetros con los que inicializa los atributos | ||
+ | */ | ||
+ | public function Fecha($dia, $mes, $year){ | ||
+ | $this->dia = $dia; | ||
+ | $this->mes= $mes; | ||
+ | $this->year= $year; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * @return string la fecha con formato dd/mm/yyyy | ||
+ | * Método público para visualizar la fecha | ||
+ | */ | ||
+ | public function verFecha(){ | ||
+ | return "$this->dia / $this->mes= $mes /$this->year"; | ||
+ | |||
+ | } | ||
+ | ?> | ||
+ | </source> | ||
+ | *En el programa principal | ||
+ | <source lang = php> | ||
+ | <?php | ||
+ | require "Fecha.php"; | ||
+ | $f1 = new Fecha(10,12,2016); | ||
+ | echo "La fecha es ".$f1->verFecha(); | ||
+ | // put your code here | ||
+ | ?> | ||
+ | </source> | ||
+ | *Y la salida que se produce | ||
+ | La fecha es 10/12/2016 | ||
}} | }} | ||
+ | *Iremos entendiendo cada parte de esta declaración y uso a lo largo del tema | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
===Pilares básicos de la POO=== | ===Pilares básicos de la POO=== | ||
<br /> | <br /> | ||
+ | *Son 4 las características o principios de la programación orientada a objetos | ||
{{Puntos clave| | {{Puntos clave| | ||
;Encapsulación | ;Encapsulación | ||
Línea 48: | Línea 94: | ||
*A la hora de definir tanto las propiedades como los métodos, especificaremos el nivel de acceso que se tiene a ese elemento | *A la hora de definir tanto las propiedades como los métodos, especificaremos el nivel de acceso que se tiene a ese elemento | ||
*Es una buena práctica de programación no dejar acceso directo a los atributos de una clase, sino acceder a ellos a través de los métodos | *Es una buena práctica de programación no dejar acceso directo a los atributos de una clase, sino acceder a ellos a través de los métodos | ||
− | + | {{MRM_Puntos clave| | |
− | + | ;La encapsulación es uno de los pilares de la programación orientada a objetos y me permite o restringe la visibilidad de sus componentes | |
+ | }} | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
Línea 60: | Línea 107: | ||
;Visibilidad | ;Visibilidad | ||
*Son tres los tipos de visibilidad que podemos especificar: | *Son tres los tipos de visibilidad que podemos especificar: | ||
− | #public | + | #public |
#private | #private | ||
#protected | #protected | ||
+ | {{Tip|'''''public''''' tipo de visibilidad asignada por defecto en caso de no especificar}} | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> |