Sesion2 Php Oo Y Mysql

5,071 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
5,071
On SlideShare
0
From Embeds
0
Number of Embeds
151
Actions
Shares
0
Downloads
231
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. MGB 2003
  • Sesion2 Php Oo Y Mysql

    1. 1. <? Sesion2 PHP OO y MySQL ?> Hugo Flores Analista de Sistemas hpfloresj.blogspot.com Curso de PHP Diciembre 29, 2007
    2. 2. Agenda <ul><li>Que es la POO </li></ul><ul><li>Características de la POO </li></ul><ul><li>Clases y objetos </li></ul><ul><li>Atributos y métodos </li></ul><ul><li>Modificadores de acceso </li></ul><ul><li>Constructores </li></ul><ul><li>Sobrecarga de métodos </li></ul><ul><li>Herencia y Polimorfismo </li></ul><ul><li>SMDB MySQL operaciones básicas </li></ul><ul><li>Conexión entre PHP y MySQL </li></ul><ul><li>Uso de tools para administrar MySQL </li></ul>
    3. 3. Que es la POO <ul><li>“ La POO es un paradigma (modelo) de programación que facilita la creación de software de calidad, utilizando objetos ligados mediante mensajes, trata de amoldarse al modo de pensar del hombre” . </li></ul><ul><li>Por que Orientado a Objetos? </li></ul><ul><ul><li>Se parece más al mundo real </li></ul></ul><ul><ul><li>Permite representar modelos complejos </li></ul></ul><ul><ul><li>Muy apropiada para aplicaciones de negocios </li></ul></ul><ul><ul><li>Las empresas ahora sí aceptan la OO </li></ul></ul><ul><ul><li>Las nuevas plataformas de desarrollo la han adoptado (Java / .NET/PHP) </li></ul></ul>
    4. 4. Características de la POO Encapsulamiento Herencia Abstracción Polimorfismo
    5. 5. Características de la POO <ul><li>Abstracción </li></ul><ul><li>Ignorancia Selectiva </li></ul><ul><ul><li>La abstracción nos ayuda a trabajar con cosas complejas </li></ul></ul><ul><ul><li>Se enfoca en lo importante </li></ul></ul><ul><ul><li>Ignora lo que no es importante (simplifica) </li></ul></ul><ul><li>Una clase es una abstracción en la que: </li></ul><ul><ul><ul><li>Se enfatizan las características relevantes </li></ul></ul></ul><ul><ul><ul><li>Se suprimen otras características </li></ul></ul></ul><ul><li>Una clase debe capturar una y solo una abstracción clave </li></ul>
    6. 6. Características de la POO <ul><li>Encapsulamiento </li></ul><ul><li>Principio que establece que los atributos propios de un objeto no deben ser visibles desde otros objetos </li></ul><ul><ul><li>Deben ser declarados como privados </li></ul></ul><ul><li>Permite abstraer al resto del mundo de la complejidad de la implementación interna </li></ul><ul><li>Permite exponer el estado del objeto sólo a través del comportamiento que le hayamos definido mediante miembros públicos </li></ul><ul><li>¿Por qué es útil? </li></ul><ul><ul><li>Punto de Control/Validación </li></ul></ul><ul><ul><li>Mejor respuesta ante los Cambios </li></ul></ul>
    7. 7. Características de la POO <ul><li>Herencia </li></ul><ul><li>Es una relación entre clases en la cual una clase comparte la estructura y comportamiento definido en otra clase (Grady Booch) </li></ul><ul><li>Cada clase que hereda de otra posee: </li></ul><ul><ul><li>- Los atributos de la clase base además de los propios </li></ul></ul><ul><ul><li>- Soporta todos o algunos de los métodos de la clase base </li></ul></ul><ul><li>Una subclase hereda de una clase base (PHP soporta herencia simple) </li></ul>Clase Base Clases Derivadas o subclases
    8. 8. Características de la POO <ul><li>Polimorfismo </li></ul><ul><li>Es la propiedad que tienen los objetos de permitir invocar genéricamente un comportamiento (método) cuya implementación será delegada al objeto correspondiente recién en tiempo de ejecución </li></ul><ul><li>El polimorfismo tiende a existir en las relaciones de herencia, pero no siempre es así </li></ul>
    9. 9. Características de la POO <ul><li>Polimorfismo ejemplo </li></ul><ul><li>La definición del método reside en la clase base </li></ul><ul><li>La implementación del método reside en la clase derivada </li></ul><ul><li>La invocación es resuelta al momento de ejecución </li></ul>Transporte Avanzar Frenar Transporte Avanzar Frenar Transporte Avanzar Frenar Transporte Avanzar Frenar
    10. 10. <ul><li>Polimorfismo seudocódigo </li></ul>Características de la POO
    11. 11. <ul><li>Objeto -> “Un objeto es un concepto, abstracción o cosa con un significado y límites claros en el problema en cuestión” (Rumbaugh) . </li></ul><ul><li>Clase -> Es una abstracción que: </li></ul><ul><ul><li>Enfatiza las características relevantes (Propiedades y Comportamiento) </li></ul></ul><ul><ul><li>Suprime otras características (simplificación) </li></ul></ul><ul><li>Un objeto es una instancia de una clase. (variable cuyo tipo de dato es una clase) </li></ul>Clases y objetos
    12. 12. Clases y objetos <ul><li>PHP: las clases son declaradas mediante class </li></ul>Crear un objeto
    13. 13. Atributos y métodos <ul><li>Una clase, tiene un puntero especial al que podemos referenciar como $this. Si nuestra clase tiene un atributo llamado $atributo, podemos hacer referencia a este desde nuestra clase (métodos) de la siguiente forma $this->atributo </li></ul><ul><li>Los métodos en PHP se declaran anteponiendo la palabra clave function y no devuelven algún tipo de datos específico. </li></ul>
    14. 14. Modificadores de acceso <ul><li>PHP5 incorpora nuevos modificadores que permiten controlar la visibilidad de los atributos y métodos y que se añaden delante de las declaraciones. </li></ul>public private protected Por defecto, acceso desde dentro y fuera de la clase. Acceso solo desde dentro de la clase. No se heredan, accedidos por los getters y setters Acceso solo desde dentro de la clase y si Permite herencia en las subclases.
    15. 15. Modificadores de acceso ¿Cuál es el resultado?
    16. 16. <ul><li>Constructor: métodos dentro de la clase que son llamados automáticamente cuando se crea una instancia de dicha clase. </li></ul><ul><li>Sintaxis </li></ul>Constructores class claseX { public function __construct(){...} //Const. por default public function __construct( $param ){...} }
    17. 17. <ul><li>Ejercicio: Probar la implementación de la siguiente clase </li></ul>Constructores ¿Cuál es el resultado? Probar esta clase
    18. 18. Sobrecarga de métodos <ul><li>Sobrecarga : varios métodos con el mismo nombre pero diferente “firma”. </li></ul><ul><li>¿Algún ejemplo? </li></ul>public function HacerDeposito( $importe) { } public function HacerDeposito( $importe, $acreditar) { }
    19. 19. Herencia y Polimorfismo <ul><li>Herencia </li></ul><ul><li>Declaración de clases y derivación </li></ul>class subclase extends superclase { //Cuerpo de la clase }
    20. 20. <ul><li>Ejercicio: Implemantar </li></ul>Herencia y Polimorfismo
    21. 21. <ul><li>Ejercicio: Implemantar </li></ul>Herencia y Polimorfismo
    22. 22. <ul><li>Ejercicio: Implemantar </li></ul>Herencia y Polimorfismo
    23. 23. Herencia y Polimorfismo <ul><li>Polimorfismo </li></ul>
    24. 24. SMDB MySQL operaciones básicas <ul><li>En este apartado comprenderemos como realizar operaciones básicas con MySQL como es insertar, actualizar, leer y eliminar registros de una tabla. </li></ul><ul><li>SQL de la bd: sistema </li></ul><ul><li>CREATE TABLE `usuario` (`idUsuario` TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `nombre` VARCHAR( 15 ) NOT NULL , `clave` VARCHAR( 15 ) NOT NULL ); </li></ul>
    25. 25. SMDB MySQL operaciones básicas <ul><li>Funciones de MySQL </li></ul>
    26. 26. Conexión entre PHP y MySQL <ul><li>Operación consultar </li></ul>
    27. 27. Conexión entre PHP y MySQL <ul><li>Operación insertar, actualizar y eliminar se hará en clases y con el uso de la POO para simplificar el trabajo repetitivo. </li></ul><ul><li>Para administrar la bd mysql propondremos la utilización de dos herramientas, Navicat y PhpMyAdmin </li></ul>
    28. 28. ¿Que se verá en la sesión3? <ul><li>Veremos como crear dos clases de persistencia de base de datos, que nos ayudarán a reutilizar nuestro código en las conexiones con la base de datos MySQL a las que llamaremos DBManager y RecordSet. </li></ul><ul><li>Desarrollo de una aplicación web con las operaciones báscias CRUD (Create, Retrieve, Update y Delete) a la que llamaremos wbmusic. </li></ul>
    29. 29. https://masterlinegroup.blogspot.com Gracias por su atención

    ×