0% encontró este documento útil (0 votos)
24 vistas19 páginas

Paradigma de Programación Orientada a Objetos

Este documento trata sobre los paradigmas de programación orientada a objetos. Explica conceptos clave como clase, objeto, herencia, polimorfismo, encapsulamiento y otros. También presenta la historia y lenguajes asociados a este paradigma.

Cargado por

yonnig81
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas19 páginas

Paradigma de Programación Orientada a Objetos

Este documento trata sobre los paradigmas de programación orientada a objetos. Explica conceptos clave como clase, objeto, herencia, polimorfismo, encapsulamiento y otros. También presenta la historia y lenguajes asociados a este paradigma.

Cargado por

yonnig81
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PARADIGMAS DE

PROGRAMACION
Unidad III
Paradigma de Programación con Orientación a
Objetos
Introducción
Objetivos de la unidad.
 Que el alumno comprenda los mecanismos fundamentales que dan
origen a este paradigma.

 Que el alumno utilice para la resolución de problemas un lenguaje


con OO puro en su concepción y representación.

 Que el alumno aprenda el lenguaje Smalltalk.


CONTENIDOS ABORDADOS
 Paradigma orientado a objetos:
 Historia.
 Conceptos.
 Características.
 Objeto.
 Colaboradores.
Historia
 1967 : Simula ´67 Primer lenguaje orientado a objetos.
 1972 : SMALLTAK Adele Goldberg, Simula, Alan Kay.
 1980 : Objective-C Brad Cox.
 1984: SMALLTALK-V PC-IBM.
 1985: EIFFEL Bertrand Meyer.
 1986 - 1990: C++ Bjarne Stroustrup.
 En la década de los años 1990 se popularizó el uso de la
programación orientada a objetos o POO, y es usada
hasta la actualidad.
Paradigma Orientado a Objetos
 Los programas se organizan como colecciones de objetos que colaboran entre sí
enviándose mensajes.
 Cada objeto tiene un rol específico en el programa y todos pueden comunicarse
entre sí de formas predefinidas.

 Un OBJETO es una entidad que posee


características (atributos) y
comportamientos (métodos).
Paradigma Orientado a Objetos
CLASE:
 Es un molde o plantilla que define las características o atributos
(variables) y comportamientos o métodos (funciones) comunes
de un conjunto de objetos relacionados.
 Describe cómo deben ser los objetos que se crean a partir de
ella.
OBJETO:
 Es una instancia o ejemplar de una clase.
 Es una entidad concreta que se crea a partir de una clase y tiene
sus propios atributos y comportamientos.
 Posee las características generales de la misma, pero con valores
concretos.
 Es una variable compuesta por variables y funciones, definida
por el usuario.
Características
Abstracción
 Denota las características esenciales de un objeto, donde se
capturan sus comportamientos.
 El proceso de abstracción permite seleccionar las características
relevantes dentro de un conjunto e identificar comportamientos
comunes para definir nuevos tipos de entidades en el mundo real.

P e rs o n a C a ra c t e rí s ti c a s C a r a c t e rí s ti c a s E s e n c ia l e s s e g ú n
e l á m b i e n t e o S i s te m a
d ni, n om b re ( i d e n t if i c a c i ó n ) P e rs o n a e n l a P e rs o n a e n u n a
te l é fo n o , d o m i c i l io , e tc . ( c o n t a c t o ) u n i v e rs id a d a g e n c ia d e M o d e lo s
a lt u r a , p e s o , e tc . ( c o n t e xt u r a fís i c a ) dn i, n om b re d n i, n o m b re
E s tu d io s s e c u n d a r i o ( f o r m a c i ó n ) te l é fo n o , d o m i c i l i o , e tc . t e l é fo n o , d o m i c i l i o , e t c .
E s tu d i o s s e c u n d a rio , e tc . a l tu r a , p e s o , e t c .
Características
Modularidad
 Permite subdividir una aplicación en partes más pequeñas,
cada una de las cuales debe ser tan independiente como sea
O b je to 1 O b je to 2
posible. Se pueden compilar por separado y tienen
conexiones con otros módulos. O b j e to 3
Encapsulamiento
 Significa reunir a todos los elementos que pueden considerarse
pertenecientes a una misma entidad, al mismo nivel de abstracción.
Principio de ocultación
 Cada objeto está aislado del exterior y expone una interfaz (protocolo) a otros
objetos, que específica cómo pueden interactuar con los objetos de la clase.
O b je t o e xt e r no

 El aislamiento protege las propiedades de un objeto M ie m b ro s


P riv a do s
contra su modificación por quien no tenga derecho a In te r f a z p ú b li c a ( P r o to c ol o )

acceder a ellas.
Características
Cohesión Acoplamiento
 Mide las responsabilidades  Mide las relaciones entre los
asignadas a cada objeto. objetos.

 En el Modelado Orientado a Objetos, lo que se busca es tener


 ALTA cohesión (que cada objeto se responsabilice por una sola cosa) y
 BAJO Acoplamiento (Poca o nula interdependencia).
D o c ent e
U s u a r io P r in c ip a l C urs o

p e did o s

r e s p u e s ta s
Alum n o

M EN SAJE O BJET OS
S
Características
Herencia Polimorfismo
 La herencia permite la definición de  Capacidad de que diferentes objetos
una clase a partir de la definición de reaccionen de distintas formas a un
otra ya existente. mismo mensaje.
 Los objetos heredan las propiedades  Comportamientos diferentes, asociados
y el comportamiento de todas las a objetos distintos, pueden compartir el
clases a las que pertenecen, pueden mismo nombre (interfaz).
compartir (y extender) su
comportamiento sin tener que volver E je m p lo : I m p ri m ir l is t a d o
a implementarlo. U s u a r io (M is m a In te r f a c e ó p ro t o c o lo )
I m p r im ir
P erso n a C la s e B a s e M o n ito r

E s u n a P e rs o n a E s u n a P e rs o n a I m p r e s o ra

A lu m n o C la s e D o c e n te C la s e
D e r iv a d a D e r iv a d a T e r m in a l
r e m o ta
( D is t in t o s O b je t o s )
Características
Recolección de basura

 La recolección de basura o garbage collector es la técnica por la cual el


entorno de objetos se encarga de destruir automáticamente, y por tanto
desvincular la memoria asociada, los objetos que hayan quedado sin
ninguna referencia a ellos.
 Significa que el programador no debe preocuparse por la asignación o
liberación de memoria, ya que el entorno la asignará al crear un nuevo
objeto y la liberará cuando nadie lo esté usando.
Objeto
 Es una abstracción, representación computacional de una entidad de la
realidad, tiene propiedades particulares (atributos) y formas de operar con
ellas (métodos).
 Un objeto es una unidad de software de la cual lo que importa es: qué le
puedo preguntar y/o pedir, y a qué otros objetos conoce.
 Los objetos responden a los pedidos interactuando con los otros objetos
que conoce, y así se va armando una aplicación.
P u e d e t e n e r p a rá m e t r o s
( o b je t o s )
P e d id o
C a r a c t e r ís t ic a s In v o c a c i ó n d e O b j eto B
O b j eto A
( o b je t o m é to d o (o b j eto
e m is o r) r e ce p to r )
C o m p o rt a m ie n t o
R e s p u e s ta
E je c u c ió n d e l m é to d o c o m o re s p u e s ta

P u e d e r e t o rn a r u n
r e s u l t a d o (o b je to )
Los Objetos en POO
Un objeto dentro de Paradigma Orientado a Objetos debe poseer:

 Abstracción
 Identidad
 Comportamiento
 Capacidad de inspección
Los Objetos en POO
Abstracción Identidad
 Un Objeto es una abstracción, del  La identidad es la propiedad que
cuál se identifican dos características: permite a un objeto diferenciarse
 Esenciales: aquellas que hacen de otros.
que el ente sea lo que es, que no  Generalmente esta propiedad es
pueden cambiar, que si falta algo tal, que da nombre al objeto.
ya no es lo que era.  La identidad de los objetos sirve
 Accidentales: Un ente puede para comparar si dos objetos son
poseerlos, pero si no los tuviera o iguales o no.
se lo cambiara, no dejaría de ser
lo que es. (color, tamaño, etc.).
A lu m n o C a rac terística s
le g a j o ,
n o m b re E s e n c ia le s (n o s e p u e d e n e lim in a r)
no ta 1
no ta 2
p r o m e d io A c c id e n t a l ( s e p u e d e c a lc u la r)
Los Objetos en POO
Comportamiento Capacidad de inspección
 Un objeto también queda representado  Poder ver en todo
por su comportamiento, el cual estará momento quiénes son
definido por el conjunto de mensajes sus colaboradores, y en
que el objeto pueda responder (para un determinado instante
que sirve, como utilizarlo). Este eventualmente
conjunto de mensajes que el objeto cambiárselo.
puede responder se lo denomina
Protocolo.
C a ja D e A h o r r o

D e p o s it a r : u n M o n t o D e D in e r o

E x t r a e r : u n M o n t o D e D in e r o

C o n s u lt a r S a ld o
Colaboraciones: Mensaje y Métodos
 La colaboración se produce cuando, los objetos se envían mensajes.
 Un mensaje: es cada una de las formas posibles de interactuar con un objeto.
 Cada objeto entiende un conjunto N om bre o
acotado de mensajes (Protocolo). O b je to A
Id e n ti fic a d o r o
s e le c t o r
O b je to B
(o b je to (o b je t o
 En cada acción de envío de e m is o r ) r ec ep t o r)

mensaje:
P u e d e te n e r p a rá m e tr o s
 hay un emisor. ( o b je t o s )
P e d id o
 hay un receptor. O b je t o A In v o c a c ió n d e
m é to d o
O b je t o B
( o b je t o
( o b je t o
 hay un nombre, que identifica e m is o r )
R e s p u e s ta
re c e p to r)

el mensaje que estoy E je c u c ió n d e l m é t o d o c o m o r e s p u e s t a

enviando entre todos los que P u e d e re to rn a r u n


r e s u lt a d o ( o b je t o )
entiende el receptor.
Colaboraciones: Mensaje y Métodos
Método:
 Sección de código que se evalúa cuando un
objeto recibe un mensaje.
 Un método tiene un nombre, que es el del
mensaje correspondiente; y un cuerpo, que es el
C O L A B O R A C IO N
código que se evalúa.
 Para poder especificar un método debo identificar
los colaboradores.
 Tipos : C o l a b o r a d o r e s In te r n o s

 Habituales (internos)
m 1: C C o lab o ra d or e xte rno
C1
 Eventuales (externos): se define m 2:
especialmente para alguno de los mensajes. m 3:
C2

O b j1
Colaboraciones
Internos Externos
 El conjunto de variables que va  La colaboración es un contrato
a contener un objeto se llama entre emisor y receptor.
Colaborador Interno o estado  El emisor debe escribir bien el
interno. mensaje y enviar un colaborador
 El estado interno de un objeto: es externo que sepa hacer cosas que
el conjunto de variables que requiere el receptor. Por su lado el
contiene, y se define al programar receptor debe devolver un objeto
el Objeto. que sepa hacer cosas que
requiere el emisor.
A lu m n o C o la b o ra d o r
in te rn o : v a ria b le C o la b o ra d o r
o a trib u to e xte r n o
L e g a jo = 1 o b j eto
n o m b re = J u a n o b je t o re c e p t o r
nota1 = 10 e m is o r
nota2 = 8
Colaboraciones externos
 El receptor del mensaje no tiene idea de quien le envía el mensaje. Está
totalmente desacoplado; los objetos están preparados para responder a
cualquiera que le envíe le mensaje.
 El emisor, asume que existe un objeto con capacidad de responder al
mensaje que envío.
 El único error que podría ocurrir es que un objeto reciba un mensaje que no
entiende:
 Mensaje equivocado al objeto correcto.
 Mensaje correcto al objeto equivocado.
M e n s a je : M o d i fic a e l n o m b r e
M e n s a je : p id e e l n o m b r e
C o la b o ra d o r
a p li c a c io n c u rso e x te rn o
C o l a b o ra d o r a p li c a c io n c u rs o
n o m b re i n te r n o
n o m b re n o m b r e : ‘2 k 3 ’
= ‘2 k 8 ’ n o m b re
‘2 k 8 ’ = ‘2 k 3 ’

También podría gustarte