Вы находитесь на странице: 1из 4

INTRODUCCION

Actualmente una de las reas ms candentes en la industria y en el mbito


acadmico es la orientacin a objetos. La orientacin a objetos promete
mejoras de amplio alcance en la forma de diseo, desarrollo y
mantenimiento del software ofreciendo una solucin a largo plazo a los
problemas y preocupaciones que han existido desde el comienzo en el
desarrollo de software: la falta de portabilidad del cdigo y reusabilidad,
cdigo que es difcil de modificar, ciclos de desarrollo largos y tcnicas de
codificacin no intuitivas.
Un lenguaje orientado a objetos ataca estos problemas. Tiene tres
caractersticas bsicas:
-

Debe estar basado en objetos.


Basado en clases, y.
Capaz de tener herencia de clases.

Muchos lenguajes cumplen uno o dos de estos puntos; muchos menos


cumplen los tres. La barrera ms difcil de sortear es usualmente la
herencia.
El concepto de programacin orientada a objetos (POO) no es nuevo. Dado
que la POO se basa en la idea natural de la existencia de un mundo lleno de
objetos y que la resolucin del problema se realiza en trminos de objetos,
un lenguaje se dice que est basado en objetos si soporta objetos como una
caracterstica fundamental del mismo.
El elemento fundamental de la POO es, como su nombre lo indica, el objeto.
Podemos definir un objeto como un conjunto complejo de datos y programas
que poseen estructura y forman parte de una organizacin.
Esta definicin especifica varias propiedades importantes de los objetos. En
primer lugar, un objeto no es un dato simple, sino que contiene en su
interior cierto nmero de componentes bien estructurados. En segundo
lugar, cada objeto no es un ente aislado, sino que forma parte de una
organizacin jerrquica o de otro tipo.

QU ES UN OBJETO?
Un objeto no es ms que un conjunto de variables (o datos) y mtodos (o
funciones) relacionados entre s. Los objetos en programacin se usan para
modelar objetos o entidades del mundo real (el objeto hijo, madre, o
farmacutica, por ejemplo). Un objeto es, por tanto, la representacin en un
programa de un concepto, y contiene toda la informacin necesaria para
abstraerlo: datos que describen sus atributos y operaciones que pueden
realizarse sobre los mismos.

Los atributos del objeto (estado) y lo que el objeto puede hacer


(comportamiento) estn expresados por las variables y los mtodos que
componen el objeto respectivamente.
Por ejemplo, un objeto que modelase una bicicleta en el mundo real tendra
variables que indicaran el estado actual de la bicicleta: su velocidad es de
20 km/h, su cadencia de pedaleo 90 r.p.m. y su marcha actual es la 5.
Estas variables se conocen formalmente como variables instancia o
variables miembro porque contienen el estado de un objeto bicicleta
particular y, en programacin orientada a objetos, un objeto particular se
denomina una instancia.
Adems de estas variables, el objeto bicicleta podra tener mtodos para
frenar, cambiar la cadencia de pedaleo, y cambiar de marcha (la bicicleta no
tendra que tener un mtodo para cambiar su velocidad pues sta es
funcin de la cadencia de pedaleo, la marcha en la que est y de si los
frenos estn siendo utilizados o no, entre otros muchos factores). Estos
mtodos se denominan formalmente mtodos instancia o mtodos
miembro, ya que cambian el estado de una instancia u objeto bicicleta
particular.

ESTRUCTURA DE UN OBJETO
Un objeto puede considerarse como una especie de cpsula dividida en tres
partes:
1. RELACIONES
2. PROPIEDADES
3. METODOS
Cada uno de
independiente:

estos

componentes

desempea

un

papel

totalmente

1. RELACIONES
Las relaciones entre objetos son, precisamente, los enlaces que
permiten a un objeto relacionarse con aquellos que forman parte de la
misma organizacin.
Las hay de dos tipos fundamentales:
-

Relaciones jerrquicas.- Son esenciales para la existencia misma


de la aplicacin porque la construyen. Son bidireccionales, es decir,
un objeto es padre de otro cuando el primer objeto se encuentra
situado inmediatamente encima del segundo en la organizacin en la
que ambos forman parte; asimismo, si un objeto es padre de otro, el
segundo es hijo del primero.
Relaciones semnticas.- Se refieren a las relaciones que no tienen
nada que ver con la organizacin de la que forman parte los objetos

que las establecen. Sus propiedades y consecuencia solo dependen


de los objetos en s mismos (de su significado) y no de su posicin en
la organizacin.
2. PROPIEDADES
Todo objeto puede tener cierto nmero de propiedades, cada una de las
cuales tendr, a su vez, uno o varios valores. En POO, las propiedades
corresponden a las clsicas "variables" de la programacin estructurada.
Son, por lo tanto, datos encapsulados dentro del objeto, junto con los
mtodos (programas) y las relaciones (punteros a otros objetos). Las
propiedades de un objeto pueden tener un valor nico o pueden
contener un conjunto de valores ms o menos estructurados (matrices,
vectores, listas, etc.). Adems, los valores pueden ser de cualquier tipo
(numrico, alfabtico, etc.) si el sistema de programacin lo permite.
Pero existe una diferencia con las "variables", y es que las propiedades
se pueden heredar de unos objetos a otros. En consecuencia, un objeto
puede tener una propiedad de maneras diferentes:
-

Propiedades propias.- Estn formadas dentro de la cpsula del


objeto.
Propiedades heredadas.- Estn definidas en un objeto diferente,
antepasado de ste (padre, "abuelo", etc.). A veces estas propiedades
se llaman propiedad miembro porque el objeto las posee por el mero
hecho de ser miembro de una clase.

3. METODOS
Una operacin que realiza acceso a los datos. Podemos definir mtodo
como un programa procedimental o procedural escrito en cualquier
lenguaje, que est asociado a un objeto determinado y cuya ejecucin
slo puede desencadenarse a travs de un mensaje recibido por ste o
por sus descendientes.
Son sinnimos de 'mtodo' todos aquellos trminos que se han aplicado
tradicionalmente a los programas, como procedimiento, funcin, rutina,
etc. Sin embargo, es conveniente utilizar el trmino 'mtodo' para que
se distingan claramente las propiedades especiales que adquiere un
programa en el entorno POO, que afectan fundamentalmente a la forma
de invocarlo (nicamente a travs de un mensaje) y a su campo de
accin, limitado a un objeto y a sus descendientes, aunque
posiblemente no a todos.
Si los mtodos son programas, se deduce que podran tener
argumentos, o parmetros. Puesto que los mtodos pueden heredarse
de unos objetos a otros, un objeto puede disponer de un mtodo de dos
maneras diferentes:
-

Mtodos propios.- Estn incluidos dentro de la cpsula del objeto.

Mtodos heredados.- Estn definidos en un objeto diferente,


antepasado de ste (padre, "abuelo", etc.). A veces estos mtodos se
llaman mtodo miembro porque el objeto los posee por el mero
hecho de ser miembro de una clase.

Polimorfismo
Una de las caractersticas fundamentales de la POO es el polimorfismo,
que no es otra cosa que la posibilidad de construir varios mtodos con el
mismo nombre, pero con relacin a la clase a la que pertenece cada
uno, con comportamientos diferentes. Esto conlleva la habilidad de
enviar un mismo mensaje a objetos de clases diferentes. Estos objetos
recibiran el mismo mensaje global pero responderan a l de formas
diferentes; por ejemplo, un mensaje "+" a un objeto ENTERO significara
suma, mientras que para un objeto STRING significara concatenacin
("pegar" strings uno seguido al otro)

Beneficios que se obtienen del desarrollo con OOP


Da a da los costos del Hardware decrecen. As surgen nuevas reas de
aplicacin cotidianamente: procesamiento de imgenes y sonido, bases de
datos multimediales, automatizacin de oficinas, ambientes de ingeniera de
software, etc. An en las aplicaciones tradicionales encontramos que definir
interfaces hombre-mquina "a-la-Windows" suele ser bastante conveniente.
Lamentablemente, los costos de produccin de software siguen
aumentando; el mantenimiento y la modificacin de sistemas complejos
suele ser una tarea trabajosa; cada aplicacin, (aunque tenga aspectos
similares a otra) suele encararse como un proyecto nuevo, etc.
Todos estos problemas an no han sido solucionados en forma completa.
Pero como los objetos son portables (tericamente) mientras que la
herencia permite la reusabilidad del cdigo orientado a objetos, es ms
sencillo modificar cdigo existente porque los objetos no interaccionan
excepto a travs de mensajes; en consecuencia un cambio en la
codificacin de un objeto no afectar la operacin con otro objeto siempre
que los mtodos respectivos permanezcan intactos. La introduccin de
tecnologa de objetos como una herramienta conceptual para analizar,
disear e implementar aplicaciones permite obtener aplicaciones ms
modificables, fcilmente extensibles y a partir de componentes reusables.
Esta reusabilidad del cdigo disminuye el tiempo que se utiliza en el
desarrollo y hace que el desarrollo del software sea ms intuitivo porque la
gente piensa naturalmente en trminos de objetos ms que en trminos de
algoritmos de software.

Вам также может понравиться