ACTIVIDAD 1


Programación Orientada a Objetos POO (bases de datos)

1.- Fundamentos de la Programación Orientada a Objetos:

  • La POO tiene como su más importante característica la reutilización del código, mismo que debe ser simple y lo suficientemente comprobado antes de estar disponible para ser utilizado. 

Objeto: Componente o código de software que contiene en sí mismo tanto sus características (campos) como sus comportamientos (métodos); se accede a través de su interfaz o signatura.

Campo: Es una característica de un objeto, que ayuda a definir su estructura y permite diferenciarlo de otros objetos. Se define con un identificador y un tipo, el cual indica los valores que puede almacenar. El conjunto de valores de los campos definen el estado del objeto.

Método: Es la implementación de un algoritmo que representa una operación o función que un objeto realiza. El conjunto de los métodos de un objeto determinan el comportamiento del objeto.

  • Existen cuatro conceptos fundamentales dentro de la Programación Orientada a Objetos que se relacionan entre sí y que nos permitirán tener las riendas de nuestro código:

Abstracción: proceso mental de extracción de las características esenciales de algo, ignorando los detalles superfluos.

Encapsulación: proceso por el que se ocultan los detalles del soporte de las características esenciales de una abstracción.

Modularización: proceso de descomposición de un sistema en un conjunto de módulos o piezas independientes y cohesivos (con significado propio). Lo adecuado es conseguir los mínimos acoplamientos.

Jerarquización: proceso de estructuración por el que se produce una organización (jerarquía) de un conjunto de elementos en grados o niveles de responsabilidad, incumbencia o composición entre otros.

2.- Beneficios de la Programación Orientada a Objeto:

  • Reusabilidad. Cuando hemos diseñado adecuadamente las clases, se pueden usar en                   distintas partes del programa y en numerosos proyectos.
  • Mantenibilidad. Debido a las sencillez para abstraer el problema, los programas orientados a       objetos son más sencillos de leer y comprender, pues nos permiten ocultar detalles de                   implementación dejando visibles sólo aquellos detalles más relevantes.
  • Modificabilidad. La facilidad de añadir, suprimir o modificar nuevos objetos nos permite hacer      modificaciones de una forma muy sencilla.
  • Fiabilidad. Al dividir el problema en partes más pequeñas podemos probarlas de manera             independiente y aislar mucho más fácilmente los posibles errores que puedan surgir.

  • 3.- Qué es la programación orientada a objetos:

    • Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representan una instancia de alguna clase, y cúyas clases son, todas ellas miembros de una jerarquía de clases unidas mediante relaciones de herencia.

    4.- Métodos y atributos static en Programación Orientada a Objetos:

    Un Método static:

    • Tiene acceso solo a los atributos estáticos de la clase.
    •  No es necesario instanciar un objeto para poder utilizarlo. 
    • Para acceder a un método de clase se escribe: NombreClase.método()
    Un Metodo permite definir el comportamiento (operaciones) de una clase. Es decir, la forma de recibir y manipular informaciòn.

    Un Atributo static: 

    • No es específico de cada objeto. Solo hay una copia del mismo y su valor es compartido por todos los objetos de la clase.
    • Podemos considerarlo como una variable global a la que tienen acceso todos los objetos de la clase.

    • Existe y puede utilizarse aunque no existan objetos de la clase. 
    • Para acceder a un atributo de clase se escibe: NombreClase.atributo

    5.- Herencia en Programación Orientada a Objetos:

    • La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. La herencia permite compartir automáticamente métodos y datos entre clases, subclases y objetos.

    6.- Polimorfismo en Programación Orientada a Objetos:

    • Se denomina polimorfismo a la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación. Un objeto polimórfico es una entidad que puede contener valores de diferentes tipos durante la ejecución del programa.

    7.- Abstracción en Programación Orientada a Objetos:

    • Abstracción (informática) La abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. La abstracción encarada desde el punto de vista de la programación orientada a objetos expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás.

    8. Definir que es:

    CLASE:

    • Las clases son plantillas que agrupan comportamiento (métodos) y estados (atributos) de los futuros objetos.

    METODO:

    • Conjunto de instrucciones a las que se les asocia un nombre de modo que, si se desea ejecutarlas, sólo basta con referenciarlas a través de dicho nombre en vez de tener que escribirlas.

    Dentro de estas instrucciones es posible acceder con total libertad a la información almacenada en los campos, pertenecientes a la clase dentro de la que el método se ha definido. Por lo que los métodos permiten manipular los datos almacenados en los objetos.

    Sintaxis:

    ()

    {

    instrucciones;

    }

    ATRIBUTO:

    • Los atributos son las características individuales que diferencian un objeto de otro y determinan su apariencia, estado u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables. Las variables de instancia también denominados miembros dato, son declaradas en la clase, pero sus valores son fijados y cambiados en el objeto. Además de las variables de instancia hay variables de clase, las cuales se aplican a la clase y a todas sus instancias.

    OBJETO:

    • Son la parte ejecutable de la programación orientada a objetos Se manejan a través de variables, pertenecen a una clase.

    9. Como se define en PHP:

    • Una clase (Sintaxis y ejemplo):

    La definición básica de una clase comienza con la palabra reservada class, seguida de un nombre de clase, y continuando con un par de llaves que encierran las definiciones de las propiedades y métodos pertenecientes a dicha clase.

    El nombre de clase puede ser cualquier etiqueta válida, siempre que no sea una palabra reservada de PHP. Un nombre válido de clase comienza con una letra o un guión bajo, seguido de una cantidad arbitraria de letras, números o guiones bajos. Como expresión regular, se expresaría 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 (llamados "métodos").

    • El Metodo constructor (sintaxis y ejemplo);

    *El constructor es un método especial dentro de una clase, se suele utilizar para darle un valor a los atributos del objeto al crearlo.


    *Es el primer método que se ejecuta al crear el objeto y se llama automáticamente al crearlo. Este método puede recibir parámetros como cualquier otro método y para pasárselos tenemos que pasarle los parámetros al objeto. El constructor NO DEVUELVE ningún dato.

    *Podemos definir un constructor en una clase de la siguiente forma:


    • Otros métodos (sintaxis y ejemplo)

    Los métodos mágicos permiten reaccionar a eventos que le puedan ocurrir a un objeto instanciado. Se inician con una doble barra baja, y son: __construct(), __destruct(), call(), callStatic(), __get(), __set(), __isset(), __unset(), sleep(), wakeup(), __toString(), invoke(), set_state(), clone() y debugInfo(). 
    El más utilizado es el constructor __construct(), que se ejecuta cuando el objeto se crea, pudiendo inyectar parámetros y dependecias requeridos para crear el objeto.

    Los constructores también se heredan. Si una clase hija define un constructor propio, para heredar el de la madre es necesario indicarlo con _parent::__construct()_:

    El método __destruct() hace lo contrario, se ejecuta cuando un objeto se destruye, aunque apenas se utiliza.

    El método __isset() actúa como la función isset() normal, como cuando se trabaja con arrays o variables. Este método mágico permite comprobar la existencia de una propiedad no pública. El método __unset() también actúa como la función unset()** normal pero para propiedades no públicas.

    El método mágico __toString() permite devolver el objeto en forma de string:

    Liliana Taborda Sanchez,Desarrollo de Software, Medellin Colombia 2019
    Creado con Webnode
    ¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar