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"> | ||
