lunes, 15 de junio de 2015

UNIDAD #4. PROGRAMACIÓN ORIENTADA A OBJETOS.


INTRODUCCION.
En esta unidad estudiaremos uno de los paradigmas de programación más utilizados en la actualidad: La programación Orientada a objetos. Esta forma de programar se acerca a como vemos el mundo en nuestra realidad. Empezamos estudiando algunas razones por las que esta forma de programación está siendo mayormente aceptada en la actualidad. Un objeto es una entidad que posee características propias. Los objetos tienen propiedades, métodos y eventos. Los objetos pertenecen a clases que son como la familia principal que agrupa un conjunto de objetos. En la programación orientada a objetos encontramos características fundamentales como la herencia, el encapsulamiento y el polimorfismo. Por ultimo estudiamos un poco los objetos compuestos y su estructura.

4.1 QUE ES LA PROGRAMACION ORIENTADA A OBJETOS
La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresiones las cosas en la vida real que otros tipos de programación.

4.2 RAZONES FUNDAMENTALES QUE ESTAN INFLUYENDO EN LA IMPORTANCIA DE LA POO.
Algunas de las causas que están influyendo considerablemente en el notable desarrollo de las técnicas orientadas a objetos son:
La POO (orientación a objetos) es especialmente adecuada para realizar determinadas aplicaciones, sobre todo realización de prototipos y simulación de programas
Los mecanismos de encapsulación de POO soportan un alto grado de reutilización de código, que se incrementa por su mecanismo de herencia.
En el entorno de las base de datos, la OO se adjunta bien a los modelos semánticos de datos para solucionar las limitaciones de los modelos tradicionales.
Aumento espectacular de los lenguajes de programación orientados a objetos.
Interfaces de usuario gráfico (por iconos) y visual. Las interfaces de usuarios de una aplicación manipulan la entrada y salida del usuario. Por consiguiente, su función principal es la comunicación con el usuario final.

4.3 UN MUNDO DE OBJETOS.
Los objetos son entidades que se pueden distinguir de manera clara y definida, ejemplos de un objeto pueden ser una persona, un libro, un botón de orden.

4.3.1 Definición de Objetos
Un objeto además de un estado interno, presenta una interfaz para poder interactuar con el exterior. Es por esto por lo que se dice que en la programación orientada a objetos “se unen datos y procesos”.

4.3.2 Identificación de Objetos
Se identifican por sus tres características son:
Tiempo de vida
Estado
Comportamiento

4.3.3 Duración de los objetos
La duración de un objeto en un programa siempre está limitada en el tiempo. La mayoría de los objetos solo existen durante un aparte de la ejecución del programa. Los objetos son creados mediante un mecanismo denominado instanciación, y cuando dejen de existir se dice que son destruidos.

4.3.4 Objetos frente a clases
Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interacción llamados métodos, que favorecen la comunicación entre ellos. Esta comunicación favorece a su vez el cambio de estado en los propios objetos. Esta característica lleva a tratarlos como unidades indivisibles, en las que no se separa el estado y el comportamiento.

4.3.5 Datos internos
Cuando los datos son nada más que datos internos, esos datos son variables
Clase Ejemplo
  Crear X Entera = 0
  Crear Y Entera = 0
  Crear Z Entera = 0
Esos datos internos, puede ser que necesiten un valor inicial cuando se crea un objeto de la clase, en ese caso esas variables pueden ser cargadas en el momento de declarar una nueva instancia de la clase.

4.4 Comunicaciones entre objetos
Se representa por medio de una tabla o entidad que esté compuesta por sus atributos y sus funciones.

4.4.1 Activación de Objetos
A los objetos solo se puede acceder a través de su interfaz pública. ¿Cómo se permite el acceso a un objeto? Un objeto accede a otro objeto enviándole un mensaje

4.4.2 Mensajes
El mensaje es esencialmente una orden que se envía a un objeto para indicarle que realice alguna acción. También se define mensaje como la información completa que un objeto emisor transmite hacia un objeto receptor.
Un mensaje contiene tres elementos: el objeto receptor, el tipo de evento y los datos necesarios para el receptor.
Mensaje: Cuando se reproduce un evento, el objeto receptor sabe cuál es el objeto emisor, que evento se produjo y el valor de los datos asociados con dicho evento.

 4.5 Estructura Interna de un Objeto
La estructura interna de un objeto está compuesta por tres elementos fundamentales como son:

Propiedades: Son las características observables de un objeto. Las propiedades se reconocen porque describen un aspecto del  objeto que podemos medir con una escala establecida previamente. A cada propiedad se le debe asignar un valor el cual permite identificar de manera única al objeto.

Métodos: Se define como un conjunto de acciones que un objeto puede realizar para conseguir un propósito. Los métodos representan la parte viva e interesante de un objeto y se emplean habitualmente para modificar las propiedades del objeto. Al modificar cualquiera de las propiedades del objeto se altera su apariencia y se genera un cambio que el usuario de la aplicación puede percibir.

Eventos: Todos los objetos se relacionan con el mundo que los rodea, esto significa que ningún objeto está aislado y siempre recibe el influjo de otros objetos. Los eventos son los estímulos que un objeto ejerce sobre otro.

4.5.1 Atributos
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. Por ejemplo, el número de ruedas de un automóvil es el mismo cuatro, para todos los automóviles.

 4.5.2 Métodos
Se define como un conjunto de acciones que un objeto puede realizar para conseguir un propósito. Los métodos representan la parte viva e interesante de un objeto y se emplean habitualmente para modificar las propiedades del objeto. Al modificar cualquiera de las propiedades del objeto se altera su apariencia y se genera un cambio que el usuario de la aplicación puede percibir.

4.6 Clases (Comparación con tablas de datos)
Los objetos están organizados en familias claramente delimitadas.  Una familia se reconoce porque reúne un grupo de objetos que heredan elementos entre sí. El modelo de programación visual, al igual que la naturaleza, organiza los objetos en clases, así una clase es el conjunto d objetos que pertenecen a una misma familia. Por ejemplo David beckham, Leonel messi, cristiano Ronaldo son ejemplos de la clase: jugadores de futbol, sin embargo personas especificas con nombres específicos son miembros de esa clase si poseen ciertas características comunes.

4.7 Herencia
Un objeto es heredero de otro cuando posee todas sus propiedades y todos sus métodos y reconoce todos sus eventos,  aunque pueda disfrutar de propiedades, métodos y eventos adicionales. Se define la herencia como la característica que tiene los objetos e derivarse unos de otros. Por otra parte la herencia supone una clase base y una jerarquía de clases que contienen las clases derivadas de la clase base, así las clases derivadas pueden heredar las propiedades y métodos de una clase base, añadiendo sus propios métodos y propiedades, incluso cambiar  aquellos elementos de la clase base que necesiten sean diferentes.

4.7.1 Tipo de Herencia
Existen dos tipos de herencia

Herencia siempre: En esta jerarquía cada clase tiene como máximo una sola superclase. La herencia siempre permite que una clase herede las propiedades y métodos de su superclase en una cadena jerárquica.

Herencia múltiple: Una malla o retícula consta de clases, cada una de las cuales pueden tener dos o más superclases inmediatas. Una herencia múltiple es aquella en la que cada clase puede heredar las propiedades y métodos de cualquier número de clases.

 4.7.2 Clases Abstractas
Con frecuencia, cuando se diseña un modelo a objetos es útil introducir clases a cierto nivel que puedan no existir en la realidad pero que son construcciones conceptuales útiles. Estas clases conocen como clases abstractas.
Las clases abstractas no tienen instancias directamente. Se utilizan para agrupar otras clases y capturar información que es común al grupo. Sin embargo, las subclases abstractas que corresponden a objetos del mundo real si pueden tener instancias.
Una clase abstracta podría ser una impresora
Inyectores + agujas
Las clases derivadas de una clase base o abstracta se conocen como clases concretas, que ya pueden instanciarse.

4.7.3 Anulación/sustitución
Cuando redefino un método heredado en la subclase, se dice que estoy anulando o sustituyendo dicho método. Sería deseable una herencia selectiva seleccionar lo que se requiere heredar es la mejor forma de anulación.

4.8 Encapsulamiento
Algunos métodos y propiedades en un objeto son privados, es decir, útiles únicamente dentro del objeto y desconocidos por quien utiliza el objeto, los restantes métodos y propiedades son públicos y los programadores los emplean para cambiar el estado del objeto.

4.9 Polimorfismo
El polimorfismo se presenta cuando se a creado objetos que pertenecen a clases que han sido derivadas de otras clases. En otras palabras, el polimorfismo aparece en las clases derivadas.
También se dice que el polimorfismo es la propiedad que indica literalmente las posibilidad de que una entidad tome muchas formas, en términos prácticos el polimorfismo permite referirse a objetos de clases distintas mediante el mismo elemento de programa y realizar la misma operación de diferentes formas según sea el objeto que se referencia a ese momento.

  4.10 Objetos Compuestos
Una de las características que hace a los objetos ser muy potentes es que pueden contener otros objetos. Los objetos que contienen otros objetos se denominan objetos compuestos. Estas características ofrecen dos ventajas importante.
Los objetos contenidos pueden cambiar en tamaño y composición, sin afectar al objeto compuesto que los contiene esto hace que el mantenimiento de sistemas complejos de objetos anidados sea más sencillo.

Los objetos contenidos están libres para participar en cualquier número de objetos compuestos, en lugar  de estar bloqueados en un único objeto compuesto 

No hay comentarios:

Publicar un comentario