Está en la página 1de 7

Objetos:

En informtica, un OBJETO es un conjunto de variables que en programacin


orientada a objetos se denominan atributos y de los mtodos relacionados con
esas variables o atributos.
Un poco ms sencillo: un objeto contiene en s mismo la informacin y los
mtodos o funciones necesarios para manipular esa informacin.
Lo ms importante de los objetos es que permiten tener un control total sobre
'quin' o 'qu' puede acceder a sus miembros, es decir, los objetos pueden
tener miembros pblicos a los que podrn acceder otros objetos o miembros
privados a los que slo puede acceder l. Estos miembros pueden ser tanto
atributos como mtodos.
El gran beneficio de todo esto es la encapsulacin, el cdigo fuente de un
objeto puede escribirse y mantenerse de forma independiente a los otros
objetos contenidos en la aplicacin.

Clases:

Una Clase es un proyecto, o prototipo, que define los atributos y los mtodos
comunes a un cierto tipo de objetos.
Un poco ms sencillo: las clases son las matrices de las que luego se pueden
crear mltiples objetos del mismo tipo. La clase define las variables y los
mtodos comunes a los objetos de ese tipo, pero luego, cada objeto tendr sus
propios valores y compartirn los mismos mtodos.
Primero debemos crear una clase antes de poder crear objetos o ejemplares de
esa clase.

Mensajes:

Para poder crear una aplicacin necesitars ms de un objeto, y estos objetos
no pueden estar aislados unos de otros, pues bien, para comunicarse esos
objetos se envan mensajes.
Los mensajes son simples llamadas a las funciones o mtodos del objeto, con
l se quiere comunicar para decirle que haga cualquier cosa.
Podramos hacer la representacin de un objeto del mundo real?
Por ejemplo el amor? La alegra?. Quiz nos sea difcil en los objetos
abstractos, pero de una u otra forma lograramos hacerlo. Desde el punto de
vista computacional es posible representar lgicamente cualquier objeto del
mundo real.
Para una solucin software un objeto es un elemento especial de informacin
que se construye a partir de una estructura de datos y una estructura funcional.
La estructura funcional opera directamente sobre la estructura de datos y esta
a su vez solo puede ser manipulada por la estructura funcional del mismo
objeto.
En la programacin estructurada la estructura de datos es totalmente
independiente de la parte funcional o procedimental; es mas podramos afirmar
que lo nico estructurado en la programacin estructurada son los
procedimientos pero los datos estn muy aislados.
La programacin orientada a objetos se acerca mas al mundo real
estructurando en un mismo elemento de informacin datos y procedimientos.
Caractersticas de datos: Por ejemplo hora, minutos y segundos
Caractersticas funcionales: Por ejemplo mostrar la hora, actualizar la hora y siendo mas
ambiciosos mostrar la hora en segundos, mostrar la hora en minutos o sumar y restar
horas.






INTRODUCCIN Y ELEMENTOS BSICOS DE PROGRAMACIN ORIENTADA
A OBJETOS (POO)
Introduccin

Actualmente una de las reas ms importantes en la industria y 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 del
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 de los lenguajes pueden cumplir
uno o dos de estos puntos, pero es muy difcil que se cumplan los tres, el
inconveniente ms complicado de disear es la herencia.
El concepto de programacin orientada a objetos (POO) no es nuevo, lenguajes
clsicos como SmallTalk se basan en ella. 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 como una caracterstica fundamental del mismo.
Ventajas de POO

La OOP proporciona las siguientes ventajas sobre otros lenguajes de
programacin
Uniformidad. Ya que la representacin de los objetos lleva implica tanto el
anlisis como el diseo y la codificacin de los mismos.
Comprensin. Tanto los datos que componen los objetos, como los
procedimientos que los manipulan, estn agrupados en clases, que se
corresponden con las estructuras de informacin que el programa trata.
Flexibilidad. Al tener relacionados los procedimientos que manipulan los datos
con los datos a tratar, cualquier cambio que se realice sobre ellos quedar
reflejado automticamente en cualquier lugar donde estos datos aparezcan.
Estabilidad. Dado que permite un tratamiento diferenciado de aquellos objetos
que permanecen constantes en el tiempo sobre aquellos que cambian con
frecuencia permite aislar las partes del programa que permanecen inalterables
en el tiempo.
Reusabilidad. La nocin de objeto permite que programas que traten las
mismas estructuras de informacin reutilicen las definiciones de objetos
empleadas en otros programas e incluso los procedimientos que los manipulan.
De esta forma, el desarrollo de un programa puede llegar a ser una simple
combinacin de objetos ya definidos donde estos estn relacionados de una
manera particular.


Desventajas de la tecnologa orientada a objetos.

A pesar de que las ventajas de la programacin orientada a objetos superan a
las limitaciones de la misma, podemos encontrar algunas caractersticas no
deseables en sta.
Limitaciones para el programador. No obstante que la tecnologa orientada a
objetos no es nueva, un gran porcentaje de programadores no estn familiarizados
con los conceptos de dicha tecnologa. En otras palabras, la lgica de la
programacin estructurada sigue siendo predominante en la mayora de los
desarrolladores de software, despus de haber revisado de forma breve los
principios de la programacin orientada a objetos, nos es claro que en sta se
requiere una lgica de pensamiento totalmente diferente a la lgica comnmente
utilizada para la programacin estructurada.
Tamao excesivo en las aplicaciones resultantes. La gran mayora de los equipos
de cmputo cuentan con capacidades tanto de almacenamiento como de memoria
lo suficientemente buena como para ejecutar la mayora de las aplicaciones que
puedan desarrollarse con la tecnologa orientada a objetos, sin embargo existen
casos en los que lo anterior no se cumple.
Una de las desventajas de la programacin orientada a objetos es que cuando se
heredan clases a partir de clases existentes se heredan de forma implcita todos
los miembros de dicha clase aun cuando no todos se necesiten, lo que produce
aplicaciones muy grandes que no siempre encajan en los sistemas con los que se
disponga.
Velocidad de ejecucin. Esto tiene que ver, en cierto modo, con el punto anterior, una
aplicacin innecesariamente pesada en muchas ocasiones es ms lenta de ejecutar que
una aplicacin conformada nicamente por los mdulos necesarios.
Evolucin de la programacin
POO (Programacin Orientada a Objetos)es un importante conjunto de
tcnicas que se pueden utilizar para hacer el desarrollo de programas ms
eficientes mientras se mejora la facilidad de los programas resultantes. En
esencia, POO es un nuevo medio de enfocar el trabajo de programacin. Sin
embargo, a fin de comprender lo que es la POO, es necesario comprender sus
races. As pues, comenzaremos por examinar la historia del proceso de
programacin analizada cmo evolucin POO y deduciendo, en consecuencia,
por qu es tan importante este concepto.
Comparacin entre la Programacin orientada a Objetos y la programacin estructurada.
Paradigma Estructurado
La Programacin estructurada fija su atencin en el conjunto de acciones que manipulan el
flujo de datos, mientras que la POO se fija en la interrelacin que existe entre los datos y
las acciones a realizar con ellos.





PROPIEDADES BSICAS DE LA PROGRAMACIN ORIENTADA A OBJETOS
Abstraccin

Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede
realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos
en el sistema sin revelar cmo se implementan estas caractersticas. Los
procesos, las funciones o los mtodos pueden tambin ser abstrados y cuando los
estn, una variedad de tcnicas son requeridas para ampliar una abstraccin.
La abstraccin es una especificacin del sistema que enfatiza sobre algunos de los detalles
o propiedades del mismo mientras suprime a otros. Una buena abstraccin es aquella que
enfatiza sobre detalles significativos al lector y al usuario y suprime detalles que son al
menos por el momento irrelevantes o que causan distraccin.
Encapsulacin
Tambin llamada "ocultacin de la informacin", esto asegura que los objetos no pueden
cambiar el estado interno de otros objetos de maneras inesperadas; solamente los propios
mtodos internos del objeto pueden acceder a su estado.

Cada tipo de objeto expone una interfaz a otros objetos que especifica cmo
otros objetos pueden interactuar con l. Algunos lenguajes resaltan esto,
permitiendo un acceso directo a los datos internos del objeto de una manera
controlada y limitando el grado de abstraccin.
Para el caso del termmetro tal vez slo se requieren 3 mtodos: activarlo,
desactivarlo y pedirle la temperatura.
Un objeto es la abstraccin de algo que forma parte del dominio del problema
reflejando las posibilidades de un sistema para mantener la informacin sobre
l. Representa una entidad real o abstracta con un papel bien definido dentro
de nuestro mundo y con dos caractersticas que son sus atributos y su
comportamiento.
Modularidad

Proceso de crear partes de un todo que se integran perfectamente entre s para
que funcionen por un objetivo general, y a las cuales se les pueden agregar
ms componentes que se acoplen perfectamente al todo, o extraerle
componentes sin afectar su funcionamiento. En el caso que se requiera
actualizar un mdulo, no hay necesidad de hacer cambios en otras partes del
todo. Un ejemplo clsico es un conjunto de mdulos que, al integrarlos
conforman un armario, el cual puede agregarle ms funcionalidad si se le
agregan ms mdulos, o al contrario.
Tambin se puede cambiar su finalidad si se acomodan esos mdulos para
darle otro objetivo: volverlo una mesa.
Jerarqua
La mayora de las personas ve de manera natural nuestro mundo como objetos
que se relacionan entre s de una manera jerrquica. Por ejemplo, un perro es un
mamfero, y los mamferos son animales, y los animales seres vivos...
Del mismo modo, las distintas clases de un programa se organizan mediante la
jerarqua. La representacin de dicha organizacin da lugar a los denominados
rboles de herencia:


Mediante la herencia una clase hija puede tomar determinadas propiedades de
una clase padre. As se simplifican los diseos y se evita la duplicacin de
cdigo al no tener que volver a codificar mtodos ya implementados.
Polimorfismo

Las referencias y las colecciones de objetos pueden contener objetos de
diferentes tipos, y la invocacin de un comportamiento en una referencia
producir el comportamiento correcto para el tipo real del referente. Cuando
esto ocurre en "tiempo de ejecucin", esta ltima caracterstica se llama
asignacin tarda o asignacin dinmica. Algunos lenguajes proporcionan
medios ms estticos (en "tiempo de compilacin") de polimorfismo, tales como
las plantillas y la sobrecarga de operadores de C++.
En programacin orientada a objetos se denomina polimorfismo a la
capacidad del cdigo de un programa para ser utilizado con diferentes tipos de
datos u objetos. Tambin se puede aplicar a la propiedad que poseen algunas
operaciones de tener un comportamiento diferente dependiendo del objeto (o
tipo de dato) sobre el que se aplican.

También podría gustarte