Está en la página 1de 5

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA DE MEXICO

ANALISIS Y DISEO ORIENTADO A OBJETOS UNIDAD 1 Pgina 1


MOISES MENDOZA MEJ IA AL12503845
Actividad 4. Conceptos bsicos de los modelos
Orientados a objetos

Abstraccin
El concepto abstraccin est vinculado al verbo abstraer (separar las
propiedades de un objeto a travs de una operacin mental, dejar de prestar
atencin al mundo sensible para centrarse en un pensamiento). La abstraccin,
por lo tanto, es alguna de estas acciones o sus efectos.
1

La abstraccin construye conceptos en base a las caractersticas o atributos
que pueden utilizarse para resolver un problema.
Uno de los ejemplos ms usados en el ambiente de la programacin para
ejemplicifar la abstraccin son las matemticas ya que como tal sabemos que
esta disciplina se vale de los nmeros para realizar infinidad de operaciones de
diversas ndioles, desde clculos de ingeniera hasta los cobros en un
supermercado.
Un ejemplo que se me ocurre es el objeto motocicleta que en su abstraccin
puede servir para transportarse, comerciarse, modificarse, ser de uso personal,
comercial, etc.
Encapsulamiento:
se denomina encapsulamiento al ocultamiento del estado, es decir, de los
datos miembro de un objeto de manera que slo se pueda cambiar mediante
las operaciones definidas para ese objeto.
2

El encapsulamiento permite utilizar solo las propiedades necesarias de un
objeto protegiendo aquellas que el usuario no debera utilizar o evitando que
las modifique, con esto se resguarda la integridad de los datos, los objetos y
sus funciones.
Un ejemplo podra ser un telfono celular, que si bien nos permite hacer
llamadas, escuchar musica, conectarse a internet y varias funciones ms, como
usuarios resulta imposible modificar la programacin del sistema operativo que
lo rige.


1
http://definicion.de/abstraccion/
2
http://es.wikipedia.org/wiki/Encapsulaci%C3%B3n
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA DE MEXICO

ANALISIS Y DISEO ORIENTADO A OBJETOS UNIDAD 1 Pgina 2
MOISES MENDOZA MEJ IA AL12503845
Polimorfismo:
La palabra polimorfismo proviene del griego y significa que posee varias formas
diferentes. Este es uno de los conceptos esenciales de una programacin
orientada a objetos. As como la herencia est relacionada con las clases y su
jerarqua, el polimorfismo se relaciona con los mtodos.
En general, hay tres tipos de polimorfismo:

Polimorfismo de sobrecarga
El polimorfismo de sobrecarga ocurre cuando las funciones del mismo nombre
existen, con funcionalidad similar, en clases que son completamente
independientes una de otra (stas no tienen que ser clases secundarias de la
clase objeto). Por ejemplo, la clase complex, la clase image y la clase link
pueden todas tener la funcin "display". Esto significa que no necesitamos
preocuparnos sobre el tipo de objeto con el que estamos trabajando si todo lo
que deseamos es verlo en la pantalla.
Por lo tanto, el polimorfismo de sobrecarga nos permite definir operadores
cuyos comportamientos varan de acuerdo a los parmetros que se les aplican.
As es posible, por ejemplo, agregar el operador + y hacer que se comporte de
manera distinta cuando est haciendo referencia a una operacin entre dos
nmeros enteros (suma) o bien cuando se encuentra entre dos cadenas de
caracteres (concatenacin).
Polimorfismo paramtrico
El polimorfismo paramtrico es la capacidad para definir varias funciones
utilizando el mismo nombre, pero usando parmetros diferentes (nombre y/o
tipo). El polimorfismo paramtrico selecciona automticamente el mtodo
correcto a aplicar en funcin del tipo de datos pasados en el parmetro.
Por lo tanto, podemos por ejemplo, definir varios mtodos homnimos
deaddition() efectuando una suma de valores.
El mtodo int addition(int,int) devolvera la suma de dos nmeros enteros.
float addition(float, float) devolvera la suma de dos flotantes.
char addition(char, char) dara por resultado la suma de dos caracteres
definidos por el autor.
etc.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA DE MEXICO

ANALISIS Y DISEO ORIENTADO A OBJETOS UNIDAD 1 Pgina 3
MOISES MENDOZA MEJ IA AL12503845
Una signature es el nombre y tipo (esttico) que se da a los argumentos de una
funcin. Por esto, una firma de mtodo determina qu elemento se va a llamar.

Considero que el polimorfismo paramtrico es ms evidente en los comandos
de la programacin estructurada que ofrecen los lenguajes de programacin ya
que podemos utilizar el mismo comando o instruccin con diversos parmetros
o variables. Un ejemplo muy claro sera SQL que se vale de instrucciones
preestablecidas para obtener consultas de datos.
Polimorfismo de subtipado
La habilidad para redefinir un mtodo en clases que se hereda de una clase
base se llama especializacin. Por lo tanto, se puede llamar un mtodo de
objeto sin tener que conocer su tipo intrnseco: esto es polimorfismo de
subtipado. Permite no tomar en cuenta detalles de las clases especializadas
de una familia de objetos, enmascarndolos con una interfaz comn (siendo
esta la clase bsica).

Imagine un juego de ajedrez con los objetos rey, reina, alfil, caballo, torre
ypen, cada uno heredando el objeto pieza. El mtodo movimiento podra,
usando polimorfismo de subtipado, hacer el movimiento correspondiente de
acuerdo a la clase objeto que se llama. Esto permite al programa realizar el
movimiento.de_pieza sin tener que verse conectado con cada tipo de pieza en
particular.
3


Modularidad
La modularidad es la capacidad que tiene un sistema de ser estudiado, visto o
entendido como la unin de varias partes que interactan entre s y que
trabajan para alcanzar un objetivo comn, realizando cada una de ellas una
tarea necesaria para la consecucin de dicho objetivo. Cada una de esas
partes en que se encuentre dividido el sistema recibe el nombre de mdulo.
Idealmente un mdulo debe poder cumplir las condiciones de caja negra, es
decir, ser independiente del resto de los mdulos y comunicarse con ellos (con
todos o slo con una parte) a travs de unas entradas y salidas bien definidas.
4

Este concepto me resulta muy familiar a la programacin modular donde se
programan mdulos que resuelven problemas particulares y que interactan
entre s.
Un ejemplo muy claro es el cuerpo humano que se compone de varios
sistemas (respiratorio, circulatorio, muscular, seo, etc.) que para sustentar la
vida interactan entre s.

3
http://es.kioskea.net/contents/413-oop-polimorfismo#q=polimorfismo&cur=1&url=%2F
4
http://es.wikipedia.org/wiki/Modularidad
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA DE MEXICO

ANALISIS Y DISEO ORIENTADO A OBJETOS UNIDAD 1 Pgina 4
MOISES MENDOZA MEJ IA AL12503845
Herencia, jerarqua y paso de mensajes
La herencia es especfica de la programacin orientada a objetos, donde una
clase nueva se crea a partir de una clase existente. La herencia (a la que
habitualmente se denomina subclases) proviene del hecho de que la subclase
(la nueva clase creada) contiene las atributos y mtodos de la clase primaria.
La principal ventaja de la herencia es la capacidad para definir atributos y
mtodos nuevos para la subclase, que luego se aplican a los atributos y
mtodos heredados.

Esta particularidad permite crear una estructura jerrquica de clases cada vez
ms especializada. La gran ventaja es que uno ya no debe comenzar desde
cero cuando desea especializar una clase existente. Como resultado, se
pueden adquirir bibliotecas de clases que ofrecen una base que puede
especializarse a voluntad (la compaa que vende estas clases tiende a
proteger las datos miembro usando la encapsulacin).
Jerarqua de clase
La relacin primaria-secundaria entre clases puede representarse desde un
punto de vista jerrquico, denominado vista de clases en rbol. La vista en
rbol comienza con una clase general llamada superclase (a la que algunas
veces se hace referencia como clase primaria, clase padre, clase principal,
oclase madre; existen muchas metforas genealgicas). Las clases derivadas
(clase secundaria o subclase) se vuelven cada vez ms especializadas a
medida que van descendiendo el rbol. Por lo tanto, se suele hacer referencia
a la relacin que une a una clase secundaria con una clase primaria mediante
la frase "es una" x o y.

Herencia mltiple
Algunos lenguajes orientados a objetos, como C++ permiten herencias
mltiples, lo que significa que una clase puede heredar los atributos de otras
dos superclases. Este mtodo puede utilizarse para agrupar atributos y
mtodos desde varias clases dentro de una sola.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA DE MEXICO

ANALISIS Y DISEO ORIENTADO A OBJETOS UNIDAD 1 Pgina 5
MOISES MENDOZA MEJ IA AL12503845


Los ejemplos cotidianos de la herencia son muy evidentes en la naturaleza,
donde podemos ver especies del mismo animal pero con diversas
especializaciones. Por ejemplo, Charles Darwin hablaba de los diversos tipos
de Pjaros Pinzn de una misma isla, donde unos se especializaban en
insectos, otros en frutos y otros en semillas.