Sei sulla pagina 1di 9

INTRODUCCIN

En el mundo de la programacin existen diversos lenguajes que se han ido


creando con el paso del tiempo y que se han perfeccionado debido a las necesidades de
los programadores de la poca a la que pertenecen. Los primeros lenguajes de
programacin eran de tipo lineal, ya que un programa se recorra desde un punto
marcado como Inicio hasta llegar a un punto Fin. Con el tiempo se fueron creando
nuevos lenguajes y en nuestros das los ms utilizados son los llamados Orientados a
Objetos.
Los Lenguajes Orientados a Objetos tienen la caracterstica de que no son lenguajes
lineales, sino que se forman de diversas funciones, las cuales son llamadas en el orden
en que el programa mismo las pide o el usuario determina. Esta programacin se
caracteriza por la utilizacin de objetos. Los objetos son entidades que tienen un
determinado estado, comportamiento e identidad: El estado est compuesto de datos o
informaciones; sern uno o varios atributos a los que se habrn asignado unos valores
concretos. El comportamiento de un objeto vine dado por los mtodos o mensajes a los
que sabe responder dicho objeto, es decir, qu operaciones se pueden realizar con l. Y
la identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras
palabras, es su identificador.
A continuacin se ampliaran conceptos referentes a objetos y clases; tambin se
abordaran las caractersticas de la programacin orientada a objetos como lo son la
abstraccin, el polimorfismo, la modularidad, la sobre carga entre otras. Y por ltimo y tambin
de carcter relevante las relaciones jerrquicas presentes en este tipo de programacin como
lo son la herencia, la composicin, la agregacin y dems.

Abstraccin:
En programacin, el trmino se refiere al nfasis en el "qu hace?" ms que en
el "cmo lo hace?". La abstraccin encarada desde el punto de vista de
la programacin orientada a objetos expresa las caractersticas esenciales de un objeto,
las cuales distinguen al objeto de los dems. Adems de distinguir entre los objetos
provee lmites conceptuales.
A grandes rasgos, la abstraccin, permite que dispongamos de las caractersticas
de un objeto que necesitemos. Si necesitamos el objeto Persona, podramos poner
nombre, edad, direccin, estado civil, etc. Si lo necesitamos en un sistema
administrativo, pero, si lo requerimos para el rea de biologa, dentro de sus atributos
quiz tengamos, ADN, RND, Gen x1, Gen x2, etc., y los atributos antes mencionados
no sean requeridos. En general, podemos decir que Persona cuenta con todos los
atributos mencionados aqu, pero por el proceso de abstraccin excluimos todos
aquellos que no tienen cabida en el sistema.
Pensar en trminos de objetos es muy parecido a cmo lo haramos en la vida
real. Una analoga sera modernizar un automvil en un esquema de POO. Diramos que
este es el elemento principal que tiene una serie de caractersticas, como podran ser
tanto el color, como el modelo o la marca. Adems tiene una serie de funcionalidades
asociadas, como pueden ser ponerse en marcha, parar o aparcar.
La abstraccin es el principio de ignorar aquellos aspectos de un fenmeno
observado que no son relevantes, con el objetivo de concentrarse en aquellos que s lo
son. Una abstraccin denota las caractersticas esenciales de un objeto, que lo distingue
de otras clases de objetos
Tipos abstractos de datos:
Un Tipo Abstracto de Datos es una abstraccin donde se encuentran encapsulados
los estados potenciales en los que se puede encontrar una entidad de ese tipo y las
operaciones que pueden realizarse sobre ella. Tambin se pueden encontrar varias
definiciones para el concepto de Tipo Abstracto de Datos (TAD) como por ejemplo:

TAD: Conjunto de Operaciones.


TAD: Modelo matemtico con una serie de operaciones definidas en ese
modelo.
TAD: Tipo de datos definido de forma nica mediante un tipo y un conjunto de
operaciones definidas sobre el tipo.

Modularidad:
La Modularidad es la propiedad que permite subdividir una aplicacin en partes ms
pequeas, cada una de las cuales debe ser tan independiente como sea posible de la
aplicacin en s y de las restantes partes. La modularizacin consiste en dividir un
programa en mdulos que se puedan compilar por separado, pero que tienen conexiones
con otros mdulos.

La Modularidad es la propiedad de un sistema que permite su descomposicin en un


conjunto de mdulos cohesivos y dbilmente acoplados. Por supuesto no todos los
mdulos son iguales: tomar un programa monoltico y separarlo de forma aleatoria en
archivos no es ptimo. Se debe tener en cuenta los conceptos asociados de dependencia,
acoplamiento, cohesin, interfaz, encapsulacin y abstraccin. Una vez identificado lo
que es un buen mdulo, se puede contemplar la reutilizacin de un buen mdulo como
componente.

El Mdulo A depende del Mdulo B si cualquier cambio en el Mdulo B


implica que el Mdulo A tambin tenga que ser modificado. A veces se dice que el
Mdulo A es un cliente del Mdulo B, o que el Mdulo B acta como servidor del
Mdulo A. En general, es normal que un mismo mdulo sea tanto cliente como
servidor. Esto significa, que depende de algunos mdulos, mientras que otros mdulos
dependen de l. Incluso es posible que un par de mdulos se tengan uno al otro de
cliente; sin embargo, ste es un ejemplo de dependencia circular, que debe evitarse
cuando sea posible debido a que impide la reutilizacin.
Objeto:
Es una entidad que posee caractersticas y acciones que realiza por s solo o
interactuando con otros objetos. Un objeto es una entidad caracterizada por sus atributos
propios y cuyo comportamiento est determinado por las acciones o funciones que
pueden modificarlo, as como tambin las acciones que requiere de otros objetos. Un
objeto tiene identidad e inteligencia y constituye una unidad que oculta tanto datos
como la descripcin de su manipulacin. Puede ser definido como una encapsulacin y
una abstraccin: una encapsulacin de atributos y servicios, y una abstraccin del
mundo real. Para el contexto del Enfoque Orientado a Objetos, un objeto es una entidad
que encapsula datos y acciones o funciones que los manejan.
Los objetos de inters durante el desarrollo de software no slo son tomados de
la vida real, tambin pueden ser abstractos. En general son entidades que juegan un rol
bien definido en el dominio del problema. Un libro, una persona, un carro, un polgono,
son apenas algunos ejemplos de objeto. Cada objeto puede ser considerado como un
proveedor de servicios utilizados por otros objetos que son sus clientes. Cada objeto
puede ser a al vez proveedor y cliente. De all que un programa pueda ser visto como un
conjunto de relaciones entre proveedores clientes. Los servicios ofrecidos por los
objetos son de dos tipos:

Los datos, que llamamos atributos.


Las acciones o funciones, que llamamos mtodos.

Un objeto posee estados, este est determinado por los valores que poseen sus atributos
en un momento dado.
Un objeto tiene un conjunto de mtodos. Dicho comportamiento general de los objetos
dentro de un sistema se describe o representa mediante sus operaciones o mtodos. Los

mtodos se utilizarn para obtener o cambiar el estado de los objetos, as como para
proporcionar un medio de comunicacin entre objetos.
Un objeto tiene un conjunto de atributos. Los atributos de un objeto contienen valores
que determinan el estado del objeto durante su tiempo de vida. Se implementan con
variables, constantes y estructuras de datos.
Clases:
La clase es la unidad de modularidad en el EOO. La tendencia natural del
individuo es la de clasificar los objetos segn sus caractersticas comunes. Por ejemplo,
las personas que asisten a la universidad se pueden clasificar en estudiante, docente,
empleado e investigador. La clase puede definirse como la agrupacin o coleccin de
objetos que comparten una estructura comn y un comportamiento comn.
Tambin puede tomarse como una plantilla que contiene la descripcin general
de una coleccin de objetos. Consta de atributos y mtodos que resumen las
caractersticas y el comportamiento comunes de un conjunto de objetos. Todo objeto,
pertenece a alguna clase. Mientras un objeto es una entidad concreta que existe en el
tiempo y en el espacio, una clase representa solo una abstraccin. Todos aquellos
objetos que pertenecen a la misma clase son descritos o comparten el mismo conjunto
de atributos y mtodos. Todos los objetos de una clase tienen el mismo formato y
comportamiento, son diferentes nicamente en los valores que contienen sus atributos.
Todos ellos responden a los mismos mensajes.
Encapsulamiento:
Es la propiedad del EOO que permite ocultar al mundo exterior la representacin
interna del objeto. Esto quiere decir que el objeto puede ser utilizado, pero los datos
esenciales del mismo no son conocidos fuera de l. La idea central del encapsulamiento
es esconder los detalles y mostrar lo relevante. Permite el ocultamiento de la
informacin separando el aspecto correspondiente a la especificacin de la
implementacin; de esta forma, distingue el "qu hacer" del
"cmo hacer". La especificacin es visible al usuario, mientras que la implementacin
se le oculta.
El encapsulamiento en un sistema orientado a objeto se representa en cada clase u
objeto, definiendo sus atributos y mtodos con los siguientes modos de acceso:

Pblico: Atributos o Mtodos que son accesibles fuera de la clase. Pueden ser
llamados por cualquier clase, aun si no
est relacionada con ella.

Privado: Atributos o Mtodos que solo son accesibles dentro de la


implementacin de la clase.

Protegido: Atributos o Mtodos que son accesibles para la propia clase y sus
clases hijas (subclases).

Los atributos y los mtodos que son pblicos constituyen la interfaz de la clase, es
decir, lo que el mundo exterior conoce de la misma. Normalmente lo usual es que se
oculten los atributos de la clase y solo sean visibles los mtodos, incluyendo entonces
algunos de consulta para ver los valores de los atributos. El mtodo constructor.
Siempre es Pblico.
Sobrecarga:

La sobrecarga es la capacidad de un lenguaje de programacin, que permite


nombrar con el mismo identificador diferentes variables u operaciones.
En programacin orientada a objetos la sobrecarga se refiere a la posibilidad de tener
dos o ms funciones con el mismo nombre pero funcionalidad diferente. Es decir, dos o
ms funciones con el mismo nombre realizan acciones diferentes. El compilador usar
una u otra dependiendo de los parmetros usados. A esto se llama tambin sobrecarga
de funciones. Tambin existe la sobrecarga de operadores que al igual que con la
sobrecarga de funciones se le da ms de una implementacin a un operador. El mismo
mtodo dentro de una clase permite hacer cosas distintas en funcin de los parmetros.

Polimorfismo:
Es una propiedad del EOO que permite que un mtodo tenga mltiples
implementaciones, que se seleccionan en base al tipo objeto indicado al solicitar la ejecucin del
mtodo. El polimorfismo operacional o Sobrecarga operacional permite aplicar operaciones con
igual nombre a diferentes clases o estn relacionados en trminos de inclusin. En este tipo de
polimorfismo, los mtodos son interpretados en el contexto del objeto particular, ya que los
mtodos con nombres comunes son implementados de diferente manera dependiendo de cada
clase.
Por ejemplo, el rea de un cuadrado, rectngulo y crculo, son calculados de manera
distinta; sin embargo, en sus clases respectivas puede existir la implementacin del rea bajo el
nombre comn rea. En la prctica y dependiendo del objeto que llame al mtodo, se usar el
cdigo correspondiente.

Herencia:
Es el proceso mediante el cual un objeto de una clase adquiere propiedades
definidas en otra clase que lo preceda en una jerarqua de clasificaciones. Permite la
definicin de un nuevo objeto a partir de otros, agregando las diferencias entre ellos
(Programacin Diferencial), evitando repeticin de cdigo y permitiendo la
reusabilidad. Las clases heredan los datos y mtodos de la superclase. Un mtodo
heredado puede ser sustituido por uno propio si ambos tienen el mismo nombre.
La herencia puede ser simple o mltiple La clase Docente y la clase Estudiante
heredan las propiedades de la clase Persona. La clase Preparador (subclase) hereda
propiedades de la clase Docente y de la clase Estudiante.

Agregacin:
Es una relacin que representa a los objetos compuestos por otros objetos. Indica
Objetos que a su vez estn formados por otros. El objeto en el nivel superior de la
jerarqua es el todo y los que estn en los niveles inferiores son sus partes o
componentes.
Composicin:
Un componente es parte esencial de un elemento. La relacin es ms fuerte que
el caso de agregacin, al punto que si el componente es eliminado o desaparece, la clase
mayor deja de existir.
Dependencia:
Es la relacin menos importante, debido a que simplemente refleja que la
implementacin de una clase depende de otra. Y si esta ltima se altera, la anterior se
puede ver afectada. Una dependencia puede indicar la utilizacin de un objeto de una
clase como argumento de una operacin de otra o en su implementacin.
Realizacin:
Y la ultima pregunta es representacin grafica de clases y relaciones jerrquicas (osea
que las relaciones jerrquicas es lo que esta en rojo(

CONCLUSIN
Se puede concluir del siguiente informe que En programacin, el trmino
abstraccin se refiere o hace nfasis en el "qu hace?" ms que en el "cmo lo hace?".
La abstraccin encarada desde el punto de vista de la programacin orientada a
objetos expresa las caractersticas esenciales de un objeto, las cuales distinguen al
objeto de los dems. Adems de distinguir entre los objetos provee lmites conceptuales.
Un Tipo Abstracto de Datos es una abstraccin donde se encuentran
encapsulados los estados potenciales en los que se puede encontrar una entidad de ese
tipo y las operaciones que pueden realizarse sobre ella.
La Modularidad es la propiedad que permite subdividir una aplicacin en partes
ms pequeas, cada una de las cuales debe ser tan independiente como sea posible de la
aplicacin en s y de las restantes partes.
Un objeto es una entidad o elemento en la programacin que posee
caractersticas y acciones que realiza por s solo o interactuando con otros objetos. Un
objeto es una entidad caracterizada por sus atributos propios y cuyo comportamiento
est determinado por las acciones o funciones que pueden modificarlo, as como
tambin las acciones que requiere de otros objetos y La clase es la unidad de
modularidad en el EOO. La tendencia natural del individuo es la de clasificar los
objetos segn sus caractersticas comunes. Por ejemplo, las personas que asisten a la
universidad se pueden clasificar en estudiante, docente, empleado e investigador. La
clase puede definirse como la agrupacin o coleccin de objetos que comparten una
estructura comn y un comportamiento comn.
El encapsulamiento es la propiedad del EOO que permite ocultar al mundo
exterior la representacin interna del objeto. Esto quiere decir que el objeto puede ser
utilizado, pero los datos esenciales del mismo no son conocidos fuera de l.
La sobrecarga es la capacidad de un lenguaje de programacin, que permite
nombrar con el mismo identificador diferentes variables u operaciones.
En programacin orientada a objetos la sobrecarga se refiere a la posibilidad de tener
dos o ms funciones con el mismo nombre pero funcionalidad diferente.
El polimorfismo es una propiedad del EOO que permite que un mtodo tenga mltiples
implementaciones, que se seleccionan en base al tipo objeto indicado al solicitar la ejecucin del
mtodo. El polimorfismo operacional o Sobrecarga operacional permite aplicar operaciones con
igual nombre a diferentes clases o estn relacionados en trminos de inclusin.

La herencia es el proceso mediante el cual un objeto de una clase adquiere


propiedades definidas en otra clase que lo preceda en una jerarqua de clasificaciones.

La agregacin es una relacin que representa a los objetos compuestos por otros
objetos. Indica Objetos que a su vez estn formados por otros.
En la composicin un componente es parte esencial de un elemento y la relacin
es ms fuerte que el caso de agregacin
La dependencia es la relacin menos importante, debido a que simplemente
refleja que la implementacin de una clase depende de otra

BIBLIOGRAFA
www.wikipedia.com
http://es.wikipedia.org/wiki/Abstracci%C3%B3n_(inform%C3%A1tica)
www.wikipedia.com
http://es.wikipedia.org/wiki/Tipo_de_dato_abstracto
Universidad de Jaen Ingeniera de programacin, tipos de dato abstracto
http://ldc.usb.ve/~gabro/teaching/CI2126/TADPilaLista.pdf
Programacin Orientada a Objetos, tipos de datos abstractos
http://www.cc.uah.es/jlcastillo/POO/media/POOCap2.pdf
Universidad de Oviedo , programacin orientada a objetos
http://www.cc.uah.es/jlcastillo/POO/media/POOCap2.pdf
Encapsulamiento http://profesores.fi-b.unam.mx/carlos/java/java_basico3_3.html
Encapsulacin de datos http://es.kioskea.net/contents/410-poo-encapsulacion-dedatos
Universidad Central de Venezuela. Recopilacin y Preparacin Prof. Yusneyi Carballo
Escuela de Computacin - Algoritmos y Programacin Oct-05, Julio 07
Curso de programacin en C++ EUI (UPV) Valencia, 17 al 28 de Julio de 1995

Potrebbero piacerti anche