You are on page 1of 8

Ingeniera en Computacin e

Informtica
Computacin / Nivel 100
GUIA DE COMPUTACIN
TEMA: PROGRAMACIN ORIENTADA A OBJETOS
La Programacin Orientada a O!eto" (POO u OOP segn
sus siglas en ingls) es un paraigma e programacin !ue
usa o"#etos $ sus interacciones para ise%ar aplicaciones $
programas e computaor& 'st "asao en varias tcnicas(
inclu$eno )erencia( moularia( polimor*smo $
encapsulamiento& +u uso se populari, a principios e la
caa e los -0.s& /ctualmente son muc)os los lengua#es e
programacin !ue soportan la orientacin a o"#etos&
POO es un mtodo de implementacin en el que los
programas se organizan como colecciones cooperativas de
objetos, cada uno de los cuales representa una instancia de
alguna clase y cuyas clases son todas miembros de una
jerarqua de clases unidas mediante relaciones de herencia
Grady Booch
Los o"#etos son entiaes !ue
com"inan estao( comportamiento e ientia0
'l e"tado est compuesto e atos( ser uno o varios
atri"utos a los !ue se )a"rn asignao unos valores
concretos (atos)&
'l com#ortamiento est e*nio por los
proceimientos o mtoos con !ue puee operar ic)o
o"#eto( es ecir( !u operaciones se pueen reali,ar con
l&
La identidad es una propiea e un o"#eto !ue lo
iferencia el resto( ic)o con otras pala"ras( es su
ienti*caor (concepto anlogo al e ienti*caor e
una varia"le o una constante)& 's un sistema prctico
!ue nos a$ua a ver otra forma e programar&
1gina 1 P r o $ e " o r : O" c a r A % e ! a n d r o Mi r a n d a S a % a " &
Ingeniera en Computacin e
Informtica
Computacin / Nivel 100
La programacin orientaa a o"#etos e2presa un programa
como un con#unto e estos o"#etos( !ue cola"oran entre ellos
para reali,ar tareas& 'sto permite )acer los programas $
mulos ms fciles e escri"ir( mantener $ reutili,ar&
3e esta forma( un o"#eto contiene toa la informacin !ue
permite e*nirlo e ienti*carlo frente a otros o"#etos
pertenecientes a otras clases e incluso frente a o"#etos e una
misma clase( al poer tener valores "ien iferenciaos en sus
atri"utos& / su ve,( los o"#etos isponen e mecanismos e
interaccin llamaos mtoos !ue favorecen la comunicacin
entre ellos& 'sta comunicacin favorece a su ve, el cam"io e
estao en los propios o"#etos& 'sta caracterstica lleva a
tratarlos como uniaes inivisi"les( en las !ue no se separan
ni e"en separarse el estao $ el comportamiento&
Los mtoos (comportamiento) $ atri"utos (estao) estn
estrec)amente relacionaos por la propiea e con#unto&
'sta propiea estaca !ue una clase re!uiere e mtoos
para poer tratar los atri"utos con los !ue cuenta&
'l programaor e"e pensar inistintamente en am"os
conceptos( sin separar ni arle ma$or importancia a ninguno
e ellos& 4acerlo pora proucir el )"ito errneo e crear
clases conteneoras e informacin por un lao $ clases con
mtoos !ue mane#en a las primeras por el otro& 3e esta
manera se estara reali,ano una programacin
estructuraa camu5aa en un lengua#e e programacin
orientao a o"#etos&
'sto i*ere e la programacin estructuraa traicional( en la
!ue los atos $ los proceimientos estn separaos $ sin
relacin( $a !ue lo nico !ue se "usca es el procesamiento e
unos atos e entraa para o"tener otros e salia& La
programacin estructuraa anima al programaor a pensar
so"re too en trminos e proceimientos o funciones( $ en
seguno lugar en las estructuras e atos !ue esos
proceimientos mane#an& 'n la programacin estructuraa
1gina 6 P r o $ e " o r : O" c a r A % e ! a n d r o Mi r a n d a S a % a " &
Ingeniera en Computacin e
Informtica
Computacin / Nivel 100
slo se escri"en funciones !ue procesan atos& Los
programaores !ue emplean ste nuevo paraigma( en
cam"io( primero e*nen o"#etos para luego enviarles
mensa#es solicitnoles !ue realicen sus mtoos por s
mismos&
Conce#to" $'ndamenta%e"
La programacin orientaa a o"#etos es una nueva forma e
programar !ue trata e encontrar una solucin a estos
pro"lemas& Introuce nuevos conceptos( !ue superan $
amplan conceptos antiguos $a conocios& 'ntre ellos
estacan los siguientes0
C%a"e0 e*niciones e las propieaes $
comportamiento e un tipo e o"#eto concreto& La
instanciacin es la lectura e estas e*niciones $ la
creacin e un o"#eto a partir e ellas&
- 7n o"#eto es una instancia e una clase&
- 7n o"#eto tiene estaos $ uno o varios mtoos&
- 'l estao es privao $ puee ser accesao solo por
su propios mtoos&
8"#eto
1gina 9 P r o $ e " o r : O" c a r A % e ! a n d r o Mi r a n d a S a % a " &
Estados
Mtodos
Ingeniera en Computacin e
Informtica
Computacin / Nivel 100
7na clase( es a la cual pertenecen los o"#etos( por lo
tanto&
- 7na clase tiene una parte p"lica $ una parte
privaa&
- La parte privaa tiene !ue ver con el estao el
o"#eto&
- La parte p"lica es la interfa, al o"#eto&
Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y
de comportamiento o funcionalidad (mtodos). Se corresponde con los objetos
reales del mundo que nos rodea, o a objetos internos del sistema (del
programa). Es una instancia a una clase.
Todos los objetos tienen Estado, Comportamiento e Identidad
1gina : P r o $ e " o r : O" c a r A % e ! a n d r o Mi r a n d a S a % a " &
Ingeniera en Computacin e
Informtica
Computacin / Nivel 100
Mtodo: Algoritmo asociado a un objeto (o a una clase de objetos), cuya
ejecucin se desencadena tras la recepcin de un !mensaje!. "esde el punto de
vista del comportamiento, es lo que el objeto puede #acer. $n mtodo puede
producir un cambio en las propiedades del objeto, o la generacin de un
!evento! con un nuevo mensaje para otro objeto del sistema.
Evento: un suceso en el sistema (tal como una interaccin del usuario con la
m%quina, o un mensaje enviado por un objeto). El sistema maneja el evento
enviando el mensaje adecuado al objeto pertinente. &ambin se puede definir
como evento, a la reaccin que puede desencadenar un objeto, es decir la
accin que genera.
Mensaje: una comunicacin dirigida a un objeto, que le ordena que ejecute
uno de sus mtodos con ciertos par%metros asociados al evento que lo gener.
Propiedad o atributo: contenedor de un tipo de datos asociados a un objeto
(o a una clase de objetos), que #ace los datos visibles desde fuera del objeto y
esto se define como sus caracter'sticas predeterminadas, y cuyo valor puede
ser alterado por la ejecucin de alg(n mtodo.
Estado interno: es una variable que se declara privada, que puede ser
(nicamente accedida y alterada por un mtodo del objeto, y que se utili)a para
indicar distintas situaciones posibles para el objeto (o clase de objetos). *o es
visible al programador que maneja una instancia de la clase.
Componentes de un objeto: atributos, identidad, relaciones y mtodos.
Representacin de un objeto: un objeto se representa por medio de una tabla
o entidad que est compuesta por sus atributos y funciones correspondientes.
En comparacin con un lenguaje imperativo, una !variable!, no es m%s que un
contenedor interno del atributo del objeto o de un estado interno, as' como la
!funcin! es un procedimiento interno del mtodo del objeto.
1gina ; P r o $ e " o r : O" c a r A % e ! a n d r o Mi r a n d a S a % a " &
Ingeniera en Computacin e
Informtica
Computacin / Nivel 100
Caractersticas de la POO
+ay un cierto desacuerdo sobre e,actamente qu caracter'sticas de un mtodo
de programacin o lenguaje le definen como !orientado a objetos!, pero #ay
un consenso general en que las caracter'sticas siguientes son las m%s
importantes (para m%s informacin, seguir los enlaces respectivos):
Abstraccin: "enota las caracter'sticas esenciales de un objeto, donde se
capturan sus comportamientos. -ada objeto en el sistema sirve como modelo
de un !agente! abstracto que puede reali)ar trabajo, informar y cambiar su
estado, y !comunicarse! con otros objetos en el sistema sin revelar cmo se
implementan estas caracter'sticas. .os procesos, las funciones o los mtodos
pueden tambin ser abstra'dos y cuando lo est%n, una variedad de tcnicas son
requeridas para ampliar una abstraccin.
1gina < P r o $ e " o r : O" c a r A % e ! a n d r o Mi r a n d a S a % a " &
Ingeniera en Computacin e
Informtica
Computacin / Nivel 100
La abstraccin se centra en las caractersticas esenciales de algn objeto, en relacin a la
perspectiva del observador.
Encapsulamiento: Significa reunir a todos los elementos que pueden
considerarse pertenecientes a una misma entidad, al mismo nivel de
abstraccin. Esto permite aumentar la co#esin de los componentes del
sistema. Algunos autores confunden este concepto con el principio de
ocultacin, principalmente porque se suelen emplear conjuntamente.
El encapsulamiento oculta detalles de la implementacin de un objeto.
Polimorfismo: comportamientos diferentes, asociados a objetos distintos,
pueden compartir el mismo nombre, al llamarlos por ese nombre se utili)ar% el
comportamiento correspondiente al objeto que se est usando. / dic#o de otro
modo, 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 objeto referenciado.
-uando esto ocurre en !tiempo de ejecucin!, esta (ltima caracter'stica se
llama asignacin tard'a o asignacin din%mica. Algunos lenguajes
proporcionan medios m%s est%ticos (en !tiempo de compilacin!) de
polimorfismo, tales como las plantillas y la sobrecarga de operadores de -00.
1gina = P r o $ e " o r : O" c a r A % e ! a n d r o Mi r a n d a S a % a " &
Ingeniera en Computacin e
Informtica
Computacin / Nivel 100
Herencia: las clases no est%n aisladas, sino que se relacionan entre s',
formando una jerarqu'a de clasificacin. .os objetos #eredan las propiedades
y el comportamiento de todas las clases a las que pertenecen. .a #erencia
organi)a y facilita el polimorfismo y el encapsulamiento permitiendo a los
objetos ser definidos y creados como tipos especiali)ados de objetos
pree,istentes. Estos pueden compartir (y e,tender) su comportamiento sin
tener que volver a implementarlo. Esto suele #acerse #abitualmente agrupando
los objetos en clases y estas en %rboles o enrejados que reflejan un
comportamiento com(n. -uando un objeto #ereda de m%s de una clase se dice
que #ay #erencia m(ltiple.
En resumen la 1rogramacin /rientada a /bjetos es un paradigma que utili)a
objetos como elementos fundamentales en la construccin de la solucin.
Surge en los a2os 34. $n objeto es una abstraccin de alg(n #ec#o o cosa del
mundo real que tiene atributos que representan sus caracter'sticas o
propiedades y mtodos que representan su comportamiento o acciones que
reali)an. &odas las propiedades y mtodos comunes a los objetos se
encapsulan o se agrupan en clases. 5$na clase es una plantilla o un prototipo
para crear objetos, por eso se dice que los objetos son instancias de clases.
.enguaje de programacin: -00, 6ava, -7, 89.*et, etc.
1gina > P r o $ e " o r : O" c a r A % e ! a n d r o Mi r a n d a S a % a " &

You might also like