Diferencia entre revisiones de «Usuario:ManuelRomero/php/opp/introduccion»
De WikiEducator
< Usuario:ManuelRomero | php
(→OPP En php) |
|||
Línea 2: | Línea 2: | ||
{{:Usuario:ManuelRomero/php/opp/nav}} | {{:Usuario:ManuelRomero/php/opp/nav}} | ||
__NOTOC__ | __NOTOC__ | ||
+ | __NOTOC__ | ||
+ | |||
+ | {{#widget:Slides}} | ||
+ | {{MiTitulo| Uso de formularios para leer datos del cliente}} | ||
+ | <div class="slides layout-regular template-default"> | ||
+ | |||
<!--__NOEDITSECTION__--> | <!--__NOEDITSECTION__--> | ||
<!--__NOTOC__--> | <!--__NOTOC__--> | ||
Línea 12: | Línea 18: | ||
[[Imagen:DWES_TituloTema6.png|center]] | [[Imagen:DWES_TituloTema6.png|center]] | ||
|} | |} | ||
+ | <!--1 --> | ||
+ | <div class="slide"> | ||
==Programación orientada a objetos== | ==Programación orientada a objetos== | ||
*En programación el paradigma imperativo está basado en funciones y datos, | *En programación el paradigma imperativo está basado en funciones y datos, | ||
Línea 19: | Línea 27: | ||
*Un Objeto es una entidad (concreta o abstracta) que presenta una actividad en un entorno concreto, en un determinado universo de discurso. | *Un Objeto es una entidad (concreta o abstracta) que presenta una actividad en un entorno concreto, en un determinado universo de discurso. | ||
<br/> | <br/> | ||
+ | </div> | ||
+ | <!--1 --> | ||
+ | <div class="slide"> | ||
{{Definicion| '''Objeto''' Cada '''elemento activo''' que identificamos dentro de un determinado univeso de discurso}} | {{Definicion| '''Objeto''' Cada '''elemento activo''' que identificamos dentro de un determinado univeso de discurso}} | ||
{{Ejemplo| | {{Ejemplo| | ||
Línea 25: | Línea 36: | ||
:Las cuentas se pueden dar de alta, de baja, hacer extracciones e ingresos y transferencias... '''''metodos''''' | :Las cuentas se pueden dar de alta, de baja, hacer extracciones e ingresos y transferencias... '''''metodos''''' | ||
}} | }} | ||
+ | </div> | ||
+ | <!--1 --> | ||
+ | <div class="slide"> | ||
+ | |||
+ | |||
*Puede parecer una forma más complicada de programar, pero es una manera de dividir la naturaleza del problema que estamos estudiando en unidades independinetes que pueden interactúan entre ellas. | *Puede parecer una forma más complicada de programar, pero es una manera de dividir la naturaleza del problema que estamos estudiando en unidades independinetes que pueden interactúan entre ellas. | ||
*Cada una de ellas va a tener una identidad propia asignando valores a sus atributos | *Cada una de ellas va a tener una identidad propia asignando valores a sus atributos | ||
*Cada una de ellas va a tener un comportamiento concreto que va a ser lo que sabe hacer para que los demás o el programa principal lo utilice | *Cada una de ellas va a tener un comportamiento concreto que va a ser lo que sabe hacer para que los demás o el programa principal lo utilice | ||
+ | <!--1 --> | ||
+ | </div> | ||
+ | <!--1 --> | ||
+ | <div class="slide"> | ||
===Elementos en la programación orientada a objetos=== | ===Elementos en la programación orientada a objetos=== | ||
*De lo dicho anteriormente deducimos que tenemos dos elementos: | *De lo dicho anteriormente deducimos que tenemos dos elementos: | ||
Línea 34: | Línea 54: | ||
*Una clase es la estructura de un tipo concreto de objetos. | *Una clase es la estructura de un tipo concreto de objetos. | ||
*Los objetos son elementos concretos en mi sistema. | *Los objetos son elementos concretos en mi sistema. | ||
+ | </div> | ||
+ | <!--1 --> | ||
+ | <div class="slide"> | ||
+ | ;Elementos de la POO | ||
*La estructura común (datos y comportamiento) de los objetos sirven especificar su composición | *La estructura común (datos y comportamiento) de los objetos sirven especificar su composición | ||
*Esta composición queda descrita y especificada en la clase. | *Esta composición queda descrita y especificada en la clase. | ||
Línea 39: | Línea 63: | ||
'''''Atributos''''' ==> Son las características o datos de un objeto | '''''Atributos''''' ==> Son las características o datos de un objeto | ||
Su valor nos da el estado de un objeto en un momento dado | Su valor nos da el estado de un objeto en un momento dado | ||
+ | </div> | ||
+ | <!--1 --> | ||
+ | <div class="slide"> | ||
'''''Comportamiento'''''==> permiten modificar el estado de un objetos | '''''Comportamiento'''''==> permiten modificar el estado de un objetos | ||
Permiten saber como es el estado de un objeto | Permiten saber como es el estado de un objeto | ||
Línea 46: | Línea 73: | ||
[[Archivo:clase.png]] | [[Archivo:clase.png]] | ||
+ | </div> | ||
+ | <!--1 --> | ||
+ | <div class="slide"> | ||
==OPP En php== | ==OPP En php== | ||
Línea 54: | Línea 84: | ||
#propiedades: son los atributos o carácterísticas de la clase. | #propiedades: son los atributos o carácterísticas de la clase. | ||
#métodos: representas el comportamiento de la misma. | #métodos: representas el comportamiento de la misma. | ||
+ | </div> | ||
+ | <!--1 --> | ||
+ | <div class="slide"> | ||
;Definir una clase en php | ;Definir una clase en php | ||
<source lang=php> | <source lang=php> | ||
Línea 63: | Línea 96: | ||
*'''''NombreClase''''' es un identificador válido con la siguiente expresión regular | *'''''NombreClase''''' es un identificador válido con la siguiente expresión regular | ||
^[a-zA-Z_][a-zA-Z0-9_]*$ | ^[a-zA-Z_][a-zA-Z0-9_]*$ | ||
+ | </div> | ||
+ | <!--1 --> | ||
+ | <div class="slide"> | ||
+ | |||
*'''''propiedades''''' son las variables o constantes definidas dentro de la clase. | *'''''propiedades''''' son las variables o constantes definidas dentro de la clase. | ||
*'''''métodos''''' son las funciones que definirán el comportamiento de la clase. | *'''''métodos''''' son las funciones que definirán el comportamiento de la clase. | ||
Línea 70: | Línea 107: | ||
*Metodos (obtener la fecha como una cadena de caracteres | *Metodos (obtener la fecha como una cadena de caracteres | ||
}} | }} | ||
− | < | + | </div> |
− | + | <!--1 --> | |
− | < | + | <div class="slide"> |
− | + | ||
+ | </div> | ||
+ | <!--1 --> | ||
+ | <div class="slide"> | ||
===Encapsulación: Acceso a los componentes=== | ===Encapsulación: Acceso a los componentes=== | ||
*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 | + | *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 |
+ | </div> | ||
+ | <!--1 --> | ||
+ | <div class="slide"> | ||
===Propiedades=== | ===Propiedades=== | ||
*Al igual que en el código estructurado los valores que almaceno en memoria, las propiedades de los objetos pueden ser. | *Al igual que en el código estructurado los valores que almaceno en memoria, las propiedades de los objetos pueden ser. | ||
Línea 88: | Línea 130: | ||
*A una constante hay que asignarle un valor no pudiendo asignar expresiones. | *A una constante hay que asignarle un valor no pudiendo asignar expresiones. | ||
*Todos los objetos de la misma clase comparte el valor de la constante. Por lo que se tomará como un valor estático. | *Todos los objetos de la misma clase comparte el valor de la constante. Por lo que se tomará como un valor estático. | ||
− | + | </div> | |
+ | <!--1 --> | ||
+ | <div class="slide"> | ||
+ | |||
+ | ;Accediendo al valor de una constante | ||
#Dentro de la clase: usaremos el operador [[#self|'''''self''''']] junto con el '''''[[#::|operador de resolución de ámbito ::''''']] | #Dentro de la clase: usaremos el operador [[#self|'''''self''''']] junto con el '''''[[#::|operador de resolución de ámbito ::''''']] | ||
#En el programa: identificando la clase, mediante el nombre de la clase, o bien la variable objeto de esa clase junto con el operador de resolución de ámbito '''''::''''', seguido del identificador de la constante. | #En el programa: identificando la clase, mediante el nombre de la clase, o bien la variable objeto de esa clase junto con el operador de resolución de ámbito '''''::''''', seguido del identificador de la constante. | ||
Línea 111: | Línea 157: | ||
?> | ?> | ||
</source> | </source> | ||
+ | </div> | ||
+ | <!--1 --> | ||
+ | <div class="slide"> | ||
{{Ejemplo| | {{Ejemplo| |
Revisión de 18:29 14 dic 2015
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |