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.
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