Está en la página 1de 4

Definición

El objetivo del AOO es modelar la semántica del problema en términos de objetos distintos
pero relacionados. Por su parte, el DOO conlleva reexaminar las clases del dominio del
problema, refinándolas, extendiéndolas y reorganizándolas, para mejorar su reutilización y
tomar ventaja de la herencia. El análisis casa con el dominio del problema y el diseño con el
dominio de la solución; por lo tanto el AOO enfoca el problema en los objetos del dominio
del problema y el DOO en los objetos del dominio de la solución
Origen:
Vivimos en un mundo de objetos. Estos objetos existen en la naturaleza, en entidades hechas
por el hombre, en los negocios y en los productos que usamos. Pueden ser clasificados,
descritos, organizados, combinados, manipulados y creados. Por eso no es sorprendente que
se proponga una visión orientada a objetos para la creación de software de computadora, una
abstracción que modela el mundo de forma tal que nos ayuda a entenderlo y gobernarlo
mejor.
La primera vez que se propuso un enfoque orientado a objetos para el desarrollo de software
fue a finales de los años sesenta. Sin embargo, las tecnologías de objetos han necesitado casi
veinte años para llegar a ser ampliamente usadas. Durante los años 90, la ingeniería del
software orientada a objetos se convirtió en el paradigma de elección para muchos
productores de software y para un creciente número de sistemas de información y
profesionales de la ingeniería.
Las tecnologías de objetos llevan a reutilizar, y la reutilización (de componente de software)
lleva a un desarrollo de software más rápido y a programas de mejor calidad. El software
orientado a objetos es más fácil de mantener debido a que su estructura es inherentemente
poco acoplada. Esto lleva a menores efectos colaterales cuando se deben hacer cambios. Los
sistemas orientados a objetos son más fáciles de adaptar y más fácilmente escalables (pueden
crearse grandes sistemas ensamblando subsistemas reutilizables).
Hacia mediados de los 80, los beneficios de la programación orientada a objetos empezaron a
obtener reconocimiento, y el diseño de objetos pareció ser un enfoque sensato para la gente
que deseaba utilizar el lenguaje de programación orientada a objetos. Un enfoque orientado a
objetos para programar ofrece muchos beneficios sobre un enfoque estructurado.
¿Qué es una clase?
Una clase es esencialmente un proyecto, a partir del cual puede crear objetos. Una clase
define las características de un objeto, incluyendo las propiedades que definen los tipos de
datos que ese objeto puede contener y los métodos que describen el comportamiento del
objeto. Estas características determinan la manera en que otros objetos pueden acceder y
trabajar con los datos que se incluyen en el objeto.
Para definir una clase, se coloca la palabra clave Class antes del nombre de su clase, y
después se insertan los miembros de la clase (datos y métodos) entre la definición del nombre
de la clase y la instrucción End.
Una clase es una plantilla para objetos múltiples con características similares. Las clases
comprenden todas esas características de un conjunto particular de objetos. Cuando se escribe
un programa en lenguaje orientado a objetos, no se definen objetos verdaderos sino se definen
clases de objetos.
Clases y Objetos:
Un modelo Orientado a Objetos de software de computadora debe exhibir abstracciones de
datos y procedimientos que conducen a una Modularidad eficaz. Una clase es un concepto
Orientado a Objetos que encapsula las abstracciones de datos y procedimientos que se
requieren para describir el contenido y comportamiento de alguna entidad del mundo real.
Las abstracciones de datos (atributos) que describen la clase están encerradas por una
“muralla” de abstracciones procedimentales (llamadas operaciones, métodos o servicios)
capaces de manipular los datos de alguna manera. La única forma de alcanzar los atributos (y
operar sobre ellos) es ir a través de alguno de los métodos que forman la muralla. Por lo tanto,
la clase encapsula datos (dentro de la muralla) y el proceso que manipula los datos (los
métodos que componen la muralla). Esto posibilita la ocultación de información y reduce el
impacto de efectos colaterales asociados a cambios.
Nota: Un objeto encapsula datos (atributos) y los métodos (operaciones, métodos o servicios)
que manipulan esos datos.
Atributos:
Los atributos están asociados a clases y objetos, y describen la clase o el objeto de alguna
manera. Las entidades de la vida real están a menudo descritas con palabras que indican
características estables. La mayoría de los objetos físicos tienen características tales como
forma, peso, color y tipo de material. Las personas tienen características como fecha de
nacimiento, padres, nombre y color de los ojos. Una característica puede verse como una
relación binaria entre una clase y cierto dominio.
La “relación” binaria implica que un atributo puede tomar un valor definido por un dominio
enumerado. En la mayoría de los casos, un dominio es simplemente un conjunto de valores
específicos. Por ejemplo, supongamos que una clase Coche tiene un atributo color. El
dominio de valores de color es blanco, negro, plata, gris, azul, rojo, amarillo, verde.
Las características (valores del dominio) pueden aumentarse asignando un valor por defecto
(característica) a un atributo. Por ejemplo, el atributo color tiene el valor por defecto negro.
Nota: Los valores asignados a los atributos de un objeto hacen a ese objeto ser único.
Mensajes:
Los mensajes son el medio a través del cual interactúan los objetos. Un mensaje estimula la
ocurrencia de cierto comportamiento en el objeto receptor. El comportamiento se realiza
cuando se ejecuta un método.
Una operación dentro de un objeto emisor genera un mensaje de la forma:
destino.operación (parámetros) donde destino define al objeto receptor el cual es estimulado
por el mensaje, operación se refiere al método que recibe el mensaje y parámetros
proporciona información requerida para el éxito de la operación.
Los mensajes proporcionan una visión interna del comportamiento de objetos individuales, y
del sistema Orientado a Objetos como un todo.
Herencia
Herencia es un concepto de la programación orientada a objetos. El cual es un mecanismo que
permite derivar una clase a otra clase. En otras palabras, tendremos unas clases que serán
hijos, y otras clases que serán padres.
Otro concepto muy importante en la metodología orientada a objetos es el de herencia. La
herencia es un mecanismo poderoso con el cual se puede definir una clase en términos de otra
clase; lo que significa que cuando se escribe una clase, sólo se tiene que especificar la
diferencia de esa clase con otra, con lo cual, la herencia dará acceso automático a la
información contenida en esa otra clase.
Con la herencia, todas las clases están arregladas dentro de una jerarquía estricta. Cada clase
tiene una superclase (la clase superior en la jerarquía) y puede tener una o más subclases (las
clases que se encuentran debajo de esa clase en la jerarquía). Se dice que las clases inferiores
en la jerarquía, las clases hijas, heredan de las clases más altas, las clases padres.
Métodos
Los métodos de una clase determinan el comportamiento o conducta que requiere esa clase
para que sus instancias puedan cambiar su estado interno o cuando dichas instancias son
llamadas para realizar algo por otra clase o instancia. El comportamiento es la única manera
en que las instancias pueden hacerse algo a sí mismas o tener que hacerles algo. Los atributos
se encuentran en la parte interna mientras que los métodos se encuentran en la parte externa
del objeto
Para definir el comportamiento de un objeto, se crean métodos, los cuales tienen una
apariencia y un comportamiento igual al de las funciones en otros lenguajes de programación,
los lenguajes estructurados, pero se definen dentro de una clase. Los métodos no siempre
afectan a un solo objeto; los objetos también se comunican entre sí mediante el uso de
métodos. Una clase u objeto puede llamar métodos en otra clase u objeto para avisar sobre los
cambios en el ambiente o para solicitarle a ese objeto que cambie su estado.
Cualquier cosa que un objeto no sabe, o no puede hacer, es excluida del objeto. Además,
como se puede observar de los diagramas, las variables del objeto se localizan en el centro o
núcleo del objeto. Los métodos rodean y esconden el núcleo del objeto de otros objetos en el
programa. Al empaquetamiento de las variables de un objeto con la protección de sus métodos
se le llama encapsulamiento. Típicamente, el encapsulamiento es utilizado para esconder
detalles de la puesta en práctica no importantes de otros objetos. Entonces, los detalles de la
puesta en práctica pueden cambiar en cualquier tiempo sin afectar otras partes del programa.
Eventos
Los eventos son el medio como interactúa una clase con otras o con el propio usuario, se
encargan de avisar que algo ha ocurrido y de manejarlo de una forma o de otra. Cada vez que
escribimos con nuestro teclado, que hacemos click en un botón o un link, que cambiamos el
tamaño de un objeto, estamos generando eventos

También podría gustarte