programacion orientada objetos php ii

12
PROGRAMACIÓN ORIENTADA A OBJETOS Mediador: Breyson Meza 15/01/2012 1 sistemasuni

Upload: r-de-la-cruz

Post on 06-Nov-2015

44 views

Category:

Documents


5 download

TRANSCRIPT

  • PROGRAMACIN ORIENTADA A OBJETOS

    Mediador: Breyson Meza

    15/01/2012 1 sistemasuni

  • Introduccin

    15/01/2012 sistemasuni 3

    A partir de PHP 5, el modelo de objetos ha sido reescrito para permitir un mejor rendimiento y con ms caractersticas. Este fue un cambio importante sobre PHP 4.

    Entre las caractersticas de PHP 5 estn la inclusin de la visibilidad, las clases abstractas y clases y mtodos finales, mtodos mgicos adicionales, interfaces, clonacin y tipos sugeridos.

  • Lo bsico

    La definicin bsica de clases comienza con la palabra clave class, seguido por un nombre de clase, continuado por un par de llaves que encierran las definiciones de las propiedades y mtodos pertenecientes a la clase.

    El nombre de clase puede ser cualquier etiqueta vlida que no sea una palabra reservada de PHP. Un nombre vlido de clase comienza con una letra o un guin bajo, seguido de la cantidad de letras, nmeros o guiones bajos que sea. Como una expresin regular, se expresara de la siguiente forma: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.

    Una clase puede tener sus propias constantes, variables (llamadas "propiedades"), y funciones (llamadas "mtodos").

    15/01/2012 sistemasuni 5

  • Lo bsico

    Ejemplo_01.php (Definicin simple de una clase)

    15/01/2012 sistemasuni 6

  • Lo bsico

    Para crear una instancia de una clase, se usa la palabra clave new. Un objeto siempre se crear a menos que se gestione una excepcin en caso de error.

    Las clases deberan ser definidas antes de la instanciacin.

    Si un string que contiene el nombre de una clase se usa con new, una nueva instancia de esa clase ser creada.

    15/01/2012 sistemasuni 7

  • Lo bsico

    Ejemplo_03.php (Creacin de una instancia)

    15/01/2012 sistemasuni 8

  • Lo bsico

    Cuando se asigna una instancia de una clase ya creada a una nueva variable, sta ltima acceder a la misma instancia como al objeto que le fue asignado. Esta conducta es la misma cuando se pasan instancias a una funcin. Una copia de un objeto ya creado se puede lograr a travs de la clonacin de la misma.

    15/01/2012 sistemasuni 9

  • Lo bsico

    Ejemplo_03.php (Asignacin de objetos)

    15/01/2012 sistemasuni 10

  • Lo bsico

    Una clase puede heredar los mtodos y propiedades de otra clase al utilizar la palabra clave extends en la declaracin de la clase. No es posible extender mltiples clases; una clase slo puede heredar de una clase base.

    Los mtodos y propiedades heredados pueden ser sobrescritos con la redeclaracin de stos, utilizando el mismo nombre que en la clase base. Sin embargo, si la clase base defini un mtodo como final, ste no podr ser sobrescrito. Es posible acceder a los mtodos sobrescritos o propiedades estticas referencindolos con parent::.

    Cuando se sobrescriben mtodos, la cantidad y disposicin de los parmetros debera ser la misma o PHP generar un error a nivel de E_STRICT. Esto no se aplica a los constructores, que permiten la sobrescritura con diferentes parmetros.

    15/01/2012 sistemasuni 11

  • Lo bsico Ejemplo_04.php (Herencia simple de clases)

    15/01/2012 sistemasuni 12

  • Propiedades

    Las variables pertenecientes a clases son llamadas "propiedades". Tambin se les puede referir usando otros trminos como "atributos" o "campos. stas se definen usando una de las palabras claves public, protected, o private*, seguido por una declaracin normal de variable. Esta declaracin puede incluir una inicializacin, pero debe ser un valor constante, es decir, debe tener la capacidad de ser evaluada en la interpretacin y no debe depender de informacin en tiempo de ejecucin para ser evaluada.

    Dentro de los mtodos de clase, las propiedades, constantes y mtodos pueden ser accedidos a travs de $this->property (donde property es el nombre de la propiedad)

    15/01/2012 sistemasuni 14

  • Propiedades

    Declaracin de propiedades

    15/01/2012 sistemasuni 15