UNIDAD 04. PROGRAMACION
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.
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.
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 (La programación 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 POO 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.
¿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
expresaríamos las cosas en la vida real que otros tipos de programación.
RAZONES
FUNDAMENTALES QUE ESTÁN 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 00
(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 sus mecanismos de herencia.
código, que se incrementa por sus mecanismos de herencia.
En el entorno
de la base de datos, la POO 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 usuarios graficos [por icones) y visuales.
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.
es la comunicación con el usuario final.
UN
MUNDO DE OBJETOS
DEFINICION
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.
Un objete 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".
IDENTIFICACION
DE OBJETOS
UN
OBJETO CONSTA DE:
*
TIEMPO DE VIDA: La duración de un objeto en un programa siempre
está limitada en el tiempo. La mayoría de los objetos sólo existen durante una
parte de la ejecución del
programa. Los objetos son creados mediante un mecanismo denominado instanciación, y cuando dejan de existir se dice que son destruidos.
programa. Los objetos son creados mediante un mecanismo denominado instanciación, y cuando dejan de existir se dice que son destruidos.
*
ESTADO: todo objeto posee un estaco, definido por sus o tributos. Con él se
definen las propiedades del objeto, y el estado en que se encuentra en un
momento determinado de su existencia. El estado de un objeto es la apariencia
que el objeto presenta al usuario, y
Depende del
valor que tenga sus propiedades. Un camino de estado se logra alterando al
menos una de las propiedades del objeto.
*COMPORTAMIENTO:
Todo objeto es de presentar una Interfaz, definida por sus métodos, para que el resto de objetos que componen los programas puedan interactuar con
él.
El equivalente de un objeto en el paradigma estructurado sería una variable. Así mismo la instanciación de objetos equivaldría a la declaración de variables, y el tiempo de vida de un objeto al ámbito de una variable.
Identificación
de objetos:
En el entorno
de procesos de programación, en el paso de la análisis del problema, el
elemento central del objeto, es decir, se estudia el problema y se identifica
los objetos, involucrados y sus relaciones
Duración de
objetos es un objeto en un programa siempre está limitado en el e tiempo la
duración (la mayoría de los objetos solo existe durante la duración del programa)
Objetos frente
a clase:
La clase es una
representación abstracta que describe un conjunto de objetos, en otras
palabras, es un tipo de datos abstractos que representa un conjunto de objetos
que tiene un común una misma estructura.
Datos internos:
Datos son
internos, nada que datos, esos datos son variables.
Clases
ejemplos:
Crear X
entero=o
Crear Y=0
Cuando los datos son nada más que datos internos, esos datos son variables
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.
COMUNICACIÓN
ENTRE OBJETOS.
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.
para el receptor.
Comunicación
entre objetos:
Los objetos se
comunican entre si mediante mensajes
Activación de
objetos:
A los objetos
solo se le puede acceder atravez de su
interfaz pública. (Como se permite el acceso a objetos) un objeto accede
enviándole un mensaje.
Mensaje
Cuando se
produce un evento, el objeto receptor sabe cuál es et objeto emisor, que evento
se produjo y el valor de los datos asociados con dicho evento.
Estructura interna de un objeto
La estructura
interna de un objeto está compuesta por tres elementos fundamentales como son;
Atributos
Son datos que
diferencean un objeto de otros; el conjunto de ellos constituye sus estado,
cada objeto alamacena información acerca de su estado actual y en un monemto
dado este corresponde a un selección determinada de valores posibles de
diversos atributos, estos últimos son propiedades o características de un
clases y describen un rango de valores.
PROPIEDADES: Son las
características observables de un objeto. Las propiedades se
reconocen porque describe un aspecto dc-l objeto que podemos medican una escala
establecida previamente. A cada propiedad se le debe asignar un valor el cual permite
identificar de manera única al objeto.
reconocen porque describe un aspecto dc-l objeto que podemos medican 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 qua el usuario de te aplicación puede percibir.
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 qua el usuario de te aplicación puede percibir.
Clase
POO
los objetos son miembros de clases. En escencia, una clases es un tipo de dato.
Al
igual que cualquier otro tipo de dato en cualquier otro tipo de lenguaje de
programación
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.
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.
LAS
CLASES:
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 (famüiasX así una cíase es el conjunto de objetos que pertenecen a una
misma familia. Por ejemplo David Beckham, Lionel Messi, Cristiano Ronaldo son
ejemplos de la clase: Jugadores de Fútbol, sin embargo personas específicas con
nombres específicos son miembros de esa clase si poseen ciertas características
comunes. Elmodelo de programación visual permite así organizar las familias de
objetos en un orden jerárquico.
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 tienen los objetos de derivarse unos de otros. Por otra parte la herencia supone una ciase base y una jerarquía de clases que contienen
las clases derivadas de la clase base, así las clases derivadas pueden heredar \a$ 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.
adicionales. Se define la herencia como la característica que tienen los objetos de derivarse unos de otros. Por otra parte la herencia supone una ciase base y una jerarquía de clases que contienen
las clases derivadas de la clase base, así las clases derivadas pueden heredar \a$ 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.
TIPOS
DE HERENCIA:
Existen dos
tipos de herencia
HERENCIA
SIMPLE: En esta jerarquía cada clase tiene como máximo una sola superclase.
La
herencia simple permite que una ciase herede las propiedades y métodos de su superclase en una cadena jerárquica.
herencia simple permite que una ciase 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
ciases.
CARACTERISTICAS
DE LA HERENCIA:
ANULACIÓN
O SUSTITUCIÓN: cuando defino un método heredado en la
subclase, se dice que estoy anulando o sustituyendo dicho metodo Sería
deseable una "herencia selectiva": seleccionar lo que se requiere
heredar es la mejor forma de anulación.
SOBRECARGA:
Propiedad que puede darse también sin herencia. Es designar varios
elementos (identificadores) con el mismo nombre. No es anulación.
CLASES
ABSTRACTAS:
Con frecuencia,
cuando se diseña un modelo orientado a objetos es útil introducir clases a
cierto nivel que
pueden no existir en la realidad pero que son construcciones conceptuales
útiles. Estas clases se conocen como clases abstractas.
Una clase abstracta normalmente ocupa una posición adecuada en la jerarquía de clases que le permite actuar como un depósito de métodos y atributos compartidos para las subclases de nivel inmediatamente inferior.
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
de clases abstractas que
corresponden a objetos del mundo real si pueden tener instancias.
corresponden a objetos del mundo real si pueden tener instancias.
Una clase-
abstracta podría ser una impresora:
+ inyectores + agujas
+ inyectores + agujas
Las clases
derivadas de una clase base o abstracta se conocen como clases concretas, que
ya pueden instanciarse (es decir, pueden tener instancias).
ENCAPSULAMIENTO
Un objeto está
separado del medio que lo rodea por algun tipo de envoltura, esta separación es
te que determina la unidad del objeto, es decir, lo convierte en algo
independiente. La envoltura oculta los detalles relacionados con la construcción interior del objeto. esto
significa que sólo conocemos del objeto aquello que es revelado por sus métodos.
Se llama encapsulamiento a la propiedad que tienen los objetos de ocultar
detalles internos, así se permite asegurar que el contenido de \a 'información
de un objeto este oculta mundo exterior por ejemplo objeto A no conoce lo que hace un objeto B y viceversa). Por otra parte el programador
que construye un objeto tiene acceso a todas sus partes: propiedades, métodos y
definición de eventos. El programador que utiliza un objeto solamente tiene
acceso a sus propiedades y métodos (si estos son públicos) y a la programación
de los eventos que han sido definidos para el objeto.
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, los programadores los emplean para cambiar el estado del objeto.
POLIMORFISMO
El polimorfismo
se presenta cuando se ha 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, la 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 ia misma
operación de diferentes formas, según sea el objeto que se referencia en ese momento. Por ejemplo cuarto se describe clase mamíferos se puede observar que \b operación comer es una operación fundamental en la vida de los mamíferos, de modo que cada tipo de mamíferos debe poder realizar la operación o función comer. Por otra parte, una vaca o una cabra que pasta en el campo, un niño que se come un bombón o caramelo y un león que devora a otro animal, son
diferentes formas que utilizan los distintos mamíferos para realizar la misma función (comer).
operación de diferentes formas, según sea el objeto que se referencia en ese momento. Por ejemplo cuarto se describe clase mamíferos se puede observar que \b operación comer es una operación fundamental en la vida de los mamíferos, de modo que cada tipo de mamíferos debe poder realizar la operación o función comer. Por otra parte, una vaca o una cabra que pasta en el campo, un niño que se come un bombón o caramelo y un león que devora a otro animal, son
diferentes formas que utilizan los distintos mamíferos para realizar la misma función (comer).
OBJETOS
COMPUESTOS
Una de las
características que hacen a los objetos ser muy potentes es que pueden contener
otros objetos. Los objetos que contienen otros objetos se denominan objetos
compuestos. Esta Característica ofrece dos ventajas importantes:
*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 sencillos.
* 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.
compuestos, en lugar de estar bloqueados en un único objeto compuesto.
0 comentarios:
Publicar un comentario