Sunteți pe pagina 1din 20

Universidad Nacional Autnoma de Nicaragua, Mangua

RURD
Facultad de Ciencias e Ingenieras
Departamento de Computacin

Introduccin a la Orientacin a Objetos

MSc. Lawdee Narvez B.

Managua 05 de 2015

Definicin de Trmino
Paradigma
Paradigma es un trmino de origen griego, "pardeigma", que significa
modelo, patrn, ejemplo. En un sentido amplio se corresponde con algo que
va a servir como modelo o ejemplo a seguir en una situacin dada. Son las
directrices de un grupo que establecen lmites y que determinan cmo una
persona debe actuar dentro de los lmites.

El paradigma es un principio, una teora o un conocimiento originado de la investigacin en un campo


cientfico. Una referencia inicial que servir como modelo para futuras investigaciones.

Un paradigma de programacin se define por la forma que un determinado programador resuelve un problema,
proporcionando visin y determinando la forma como el programador estructura y ejecuta un programa
determinado. Los principales paradigmas de programacin son: el Imperativo, el Declarativo, el Lgico, el
Funcional y el Orientado a Objetos.
http://www.significados.com/paradigma/

Paradigma de la Orientacin a Objetos

Metodologa de desarrollo de aplicaciones en el cual estas se organizan como colecciones cooperativas de


objetos, cada uno de los cuales representan una instancia de alguna clase y cuya clase son miembros de
jerarquas de clases unidas mediante relaciones de herencia.

(Grady Booch).

Bajo este paradigma cambia el modo de organizacin del programa: clases, concepto de ejecucin
de programa: paso de mensajes.
A travs del Paradigma Orientado
a Objetos se visualiza el mundo de
un nuevo modo:

Agentes y comunidades
Mensajes y Mtodos
Responsabilidades
Objetos y Clases
Jerarquas de clases
Enlaces de mtodos

Paradigma de la Orientacin a Objetos


Agentes y comunidades
Un programa orientado a objetos se encuentra estructurado como una comunidad de agentes
que interaccionan (Objetos). Cada objeto juega un rol en la solucin del problema. Cada objeto
proporciona un servicio o realiza una accin que es posteriormente utilizada por otros miembros
de la comunidad.

Mensajes y Mtodos

A un objeto se le envan mensajes con propsito que realice una determinada


accin.
El objeto selecciona el mtodo apropiado para llevar a cabo tal accin.
Este proceso es conocido como paso de mensajes.
Un mensaje se diferencia de un procedimiento/funcin por lo siguiente:
Siempre hay un receptor (esto no ocurre en la llamada a una funcin)
La interpretacin de un mismo mensaje puede variar en funcin del receptor
del mismo.

Paradigma de la Orientacin a Objetos


Responsabilidades
El comportamiento para cada objeto se describe en trminos de responsabilidades (mayor
independencia entre los objetos).
Protocolo: conjunto de responsabilidades de un objeto.

Objetos y Clases
Un objeto puede definirse como la encapsulacin de un estado y comportamiento, y se
encuentran agrupados en categoras (Clases).
El mtodo que invoca un objeto en respuesta a un mensaje viene determinado por la
clase del objeto receptor.

Paradigma de la Orientacin a Objetos


Jerarquia de Clases
En la realidad, muchos conocimientos se encuentran organizados en trminos de jerarquas. Este
principio por el cual el conocimiento de una categora ms general es aplicable a una categora
ms especfica se denomina generalizacin, y su implementacin dentro de la POO se le
denomina herencia.

Enlace de mtodos
Es el instante en el cual una llamada a un mtodo es asociado al cdigo que debe ser
ejecutado, este puede darse en dos formas:

En tiempo de compilacin (enlace esttico)

En tiempo de ejecucin (enlace dinmico)

Programacin Orientada a Objetos


La programacin orientada a objetos es una forma de programar que trata de encontrar una solucin a los
problemas que ocasionaba la programacin estructurada. Introduce nuevos conceptos, que superan y amplan
conceptos antiguos ya conocidos. Entre ellos destacan los siguientes: Clase, Herencia, Objeto, Mtodo, Mensaje y
Propiedad o Atributo.

A travs de este nuevo concepto de programacin se facilita una forma particular de


programar ms cercana a la manera de como expresamos las cosas en la vida real.

Bajo la percepcin de la programacin orientada a objetos tenemos que disear nuestros programas en
trminos de objetos, propiedades y mtodos. La POO expresa un programa como un conjunto de estos objetos,
los cuales colaboran entre ellos para la realizacin de sus tareas, lo que permite que los mdulos y programas
sean ms fciles de escribir, mantener y reutilizar.

La POO en los ltimos aos se ha venido posicionando en un paradigma de programacin dominante


y en una herramienta para resolver lo que se le denomino Crisis del software.

Programacin Orientada a Objetos y la Programacin Tradicional


Desde el origen del software y el desarrollo de la programacin de computadoras han surgido una serie de
evoluciones sucesivas, entre las cuales resalta la programacin estructurada, la cual tena como principio
fundamental dividir un programa en subprogramas ms pequeos y fciles de resolver, hasta alcanzar niveles de
complejidad elementales, basndose siempre en la idea Qu debe hacer el programa? Segn lo ha planteado
Ceballos (Fco. Javier Ceballos, 1997) Programacin Orientada a Objetos con C++ 2ed.
No ayuda a la reutilizacin de cdigo.

En su momento esta metodologa


obtuvo resultados satisfactorios,
pero tiene algunas limitaciones:

Si dos subprogramas comparten una misma funcin (fn)


reutilizando el cdigo que define la misma, y se desea modificar
posteriormente fn debido a un cambio en los subprogramas que la
utiliza, tal modificacin tambin afectara al otro subprogramas, lo
que implica realizar dos funciones.
Distinta abstraccin del mundo. La programacin clsica se centra
en el comportamiento, normalmente representado por verbos,
mientras que nuestra mente se centra en los seres, a los que,
normalmente, identificamos con sustantivos.

Programacin Orientada a Objetos y la Programacin Tradicional

De acuerdo con los planteamientos anteriores,


podemos decir que la programacin tradicional
se desarrolla a partir de procedimientos y datos,
sin deslindar que procedimientos actan sobre
qu datos. Los datos son estructurados con el
fin de que puedan ser procesados por un
conjunto de procedimientos diferentes, lo que
implica que la estructura de datos y
procedimientos, estn sujetos a cambios.

Siempre bajo estos mismos planteamientos, se


deduce que la programacin estructurada, se
interesa primero por los procedimientos y
despus por los datos, el diseo orientado a
objetos se interesa en primer lugar por los
datos, a los cuales posteriormente se le asocian
procedimientos, obvindose la interrogante que
plantea la programacin tradicional Qu debe
hacer el programa? por la interrogante De
qu trata el programa?, por tanto se organiza el
desarrollo alrededor de los datos manipulados y
no alrededor de sus funcionalidades.

Bajo esta percepcin de concebir un programa, resulta mucho ms eficaz dado que en el contexto
real de un programa, los elementos ms estables son los datos.

Programacin Orientada a Objetos y Lenguajes Orientados a Objetos

Desde el desarrollo de la programacin


orientada a objetos, son varios los lenguajes de
programacin que dieron pautas a los lenguajes
orientados a objetos, entre este grupo de
lenguajes tenemos: LISP (aos 50), Simula
(aos 60), Modula, Ada, pascal, C etc. Las
caractersticas de estos sirvieron como base
para la construccin de mecanismos orientados
a objetos.

Smalltalk surge en la dcada de los 70s como


un lenguaje puro orientado a objetos, en los
aos posteriores, los avances que se
experimentan en la POO fueron pocos,
tomando fuerza hasta los aos 80s cuando los
avances son mayores, con toda esta nueva
revolucin en los lenguajes surge el lenguaje
C++, como sucesor de C, guardando siempre
compatibilidad con su antecesor.

Programacin Orientada a Objetos y Lenguajes Orientados a Objetos


Ventajas de los Lenguajes Orientados a Objetos
Entre algunas de las ventajas que poseen los lenguajes realmente orientado a objetos se tienen:

Objetos bien diseados, puesto que son la base para sistemas que se construyen a partir de mdulos
reutilizables, dando lugar a una mayor productividad.
Reutilizacin de clases que ya han sido probadas en circunstancias reales, lo que da lugar a sistemas de
mayor calidad y con menos errores.
La herencia hace posible la definicin de sistemas ms fiables, ms fciles de ampliar y menos costosos de
mantener.
Un diseo orientado a objeto es una herramienta clave para enfrentarse a problemas complejos dado que
favorece el paso de pequeos a grandes sistemas.

Programacin Orientada a Objetos y Lenguajes Orientados a Objetos


Ventajas de los Lenguajes Orientados a Objetos
Entre algunas de las ventajas que poseen los lenguajes realmente orientado a objetos se tienen:

Las aplicaciones requieren de menos lneas de cdigo, menos sentencias de bifurcacin y por lo tanto los
mdulos son ms comprensible.

La encapsulacin permite la creacin de sistemas ms seguros.

A diferencia con la programacin tradicional, donde siempre existe la posibilidad de que una modificacin de un
procedimiento o una estructura de datos afecte otros procedimientos, la POO no necesita examinar todo el
cdigo fuente para ver si un cambio afecta a otras partes.

Caractersticas de un Lenguajes Orientados a Objetos


Todo lenguaje orientado a objetos debe tener al menos las siguientes caractersticas:

Para un LOO todo es y se trata como un objeto.

Todo objeto debe corresponder como instancia de una clase

Todos aquellos objetos de una misma clase pueden recibir los mismos mensajes

Las clases deben definir el comportamiento de los objetos y su estructura interna.

Las clases se encuentran organizadas en una estructura arbrea de nica raz, llamada jerarqua de herencia.

Caractersticas de un Lenguajes Orientados a Objetos


Todo lenguaje orientado a objetos debe tener al menos las siguientes caractersticas:

Un programa es un conjunto de objetos que se comunica mediante el paso de mensajes.

Tener soporte a lo que es Polimorfismo

Tipado esttico (imponer un tipo a un objeto en tiempo de compilacin, es decir asegurar que un objeto
entiende los mensajes que se le envan).

Recolector de basura.

Concurrencia (opcional, no necesariamente es un caracterstica de un LOO).

Mecanismos de la Programacin Orientada a Objetos


Todo lenguaje orientado a objetos debe tener al menos las siguientes caractersticas:

Que es un Objeto:
Dentro del mundo de la POO, como se ha indicado varias veces anteriormente, que un
programa se divide en componentes compuesto por procedimientos y datos. Es a estos
componentes que se les considera un Objeto. Lo que conlleva a decir que un objeto es una
unidad que contiene datos y las funciones que operan sobre esos datos.

Otra forma de definir un objeto, segn Ceballos (Ceballos, 1997) es que un objeto se trata de una
encapsulacin genrica de datos y de los procedimientos para manipularlos, en otras palabras, un
objeto se trata de una entidad que posee atributos particulares, los datos y la

Mecanismos de la Programacin Orientada a Objetos


Que es un Objeto:
Dentro del mundo de la POO, como se ha indicado varias veces anteriormente, que un
programa se divide en componentes compuesto por procedimientos y datos. Es a estos
componentes que se les considera un Objeto. Lo que conlleva a decir que un objeto es una
unidad que contiene datos y las funciones que operan sobre esos datos.

Otra forma de definir un objeto, segn Ceballos (Ceballos, 1997) es que un objeto se trata de una
encapsulacin genrica de datos y de los procedimientos para manipularlos, en otras palabras, un
objeto se trata de una entidad que posee atributos particulares, los datos y la forma de operar sobre
ellos. Por tanto contiene operaciones que definen su comportamiento y por otra parte, variables que
se manipulan por esas operaciones que definen su estado.

Mecanismos de la Programacin Orientada a Objetos


El estado de un objeto se compone por datos, es decir los valores (datos) que se le asignen a uno
varios atributos.
El comportamiento lo definen los procedimientos o mtodos con los que puede operar tal objeto.
(Las operaciones que se pueden realizar con el).
La identidad es una propiedad que posee un objeto que lo hace diferente al resto, dicho con otras
palabras, es su identificador.

Un objeto se encuentra compuesto por atributos, los cuales no son ms que los datos que se
encuentran contenidos en l, es decir son las caractersticas o las propiedades que posee un objeto

Mecanismos de la Programacin Orientada a Objetos

Mensajes
Al ejecutarse un programa orientado a
objetos, los objetos se encuentran recibiendo,
interpretando y respondiendo a mensajes de
otros objetos, lo que quiere decir que el flujo
de control funcional es reemplazado por el
paso de mensajes entre objetos, originando
cambios en el estado del objeto.

Un mensaje puede incluir informacin con el


fin de clarificar una peticin: por ejemplo al
momento de imprimir, tener un objeto
impresin al cual se le puede enviar el
mensaje imprime ms el nombre de la
impresora.

Cuando un objeto ha recibido un mensaje, debe conocer perfectamente lo que tiene que hacer y cuando lo enva
no necesita conocer cmo se desarrolla, sino que simplemente se est desarrollando.

Mecanismos de la Programacin Orientada a Objetos

Mtodos

Clases

Dentro de la POO, los mtodos son


constituidos por las operaciones o los
procedimientos que operan sobre los
atributos de los objetos
Los mtodos se encuentran implementados
dentro de una clase y son los que determinan
como debe actuar el objeto cuando ha
recibido un mensaje. Es decir es el que posee
una secuencia de instrucciones que la clase u
objeto sigue para realizar la tarea. Un mtodo
tambin puede ser capaz de enviar mensajes
a otros objetos, solicitando una accin o
informacin.

En trminos formales una clase se conceptualiza como


como una coleccin de objetos similares. Lo que puede
decirse tambin, es una agrupacin de categoras.
Algunos autores tambin lo definen como una plantilla
para la creacin de objetos de esa clase o tipo, en una
clase se describen los mtodos y atributos que definen
las caractersticas comunes a todos los objetos de esa
clase
Las clases son tipos de datos definidos por el usuario,
donde, tal como se seal antes determinan la
estructura de datos y las operaciones asociadas.
Adems las clases son las definiciones de las
propiedades y comportamientos de un tipo de objeto
concreto.

Paradigma de la Orientacin a Objetos


Agentes y comunidades
Un programa orientado a objetos se encuentra estructurado como una comunidad de agentes que interaccionan
(Objetos). Cada objeto juega un rol en la solucin del problema. Cada objeto proporciona un servicio o realiza una
accin que es posteriormente utilizada por otros miembros de la comunidad.
Metodologa de desarrollo de aplicaciones en el cual estas se organizan como colecciones cooperativas de
objetos, cada uno de los cuales representan una instancia de alguna clase y cuya clase son miembros de
jerarquas de clases unidas mediante relaciones de herencia.

(Grady Booch).
A travs del Paradigma Orientado
a Objetos se visualiza el mundo de
un nuevo modo:

Agentes y comunidades
Mensajes y Mtodos
Responsabilidades
Objetos y Clases
Jerarquas de clases
Enlaces de mtodos

S-ar putea să vă placă și