Sunteți pe pagina 1din 62

Unidad 1

Diseo Orientado a Objetos


Asignatura: Programacin Orientada a Objetos
Licenciatura en Ciencias de la Computacin
Licenciatura en Sistemas de Informacin

Departamento de Informtica
FCEFN UNSJ
Ao 2011
Propsitos que persigue la unidad:

Retomar los conceptos de encapsulamiento y abstraccin desde el Diseo


Modular para introducir las caractersticas fundamentales del diseo orientado
a objetos, como un proceso evolutivo del diseo modular.

Analizar los elementos bsicos del modelo orientado a objetos: objetos,


clases, mtodos y mensajes y herencia, todos independientes del lenguaje de
implementacin.

Utilizar UML (Lenguaje de Modelado Unificado) para construir diagramas de


secuencia y de clases.
INTRODUCCION A LA O.O (1)

Rechazo al uso del GoTo

PROGRAMACIN ESTRUCTURADA Diseo Estructurado


Objetivos:
Utilizar un estilo disciplinado de programacin.
Ser una tcnica que lleve a programas altamente modificables.
Sencillez, claridad y elegancia.

Desarrollo de Sistemas grandes

PROGRAMACIN MODULAR Diseo Modular


Abstraccin y Ocultamiento de la informacin - TDA
FONTELA, C. Programacin Orientada a Objetos Tcnicas Avanzadas de Programacin Pg. 16 a 23
INTRODUCCION A LA O.O (2)

TDA:
1. Un tipo de datos definido por el programador,

2. Un conjunto de operaciones abstractas sobre objetos


de ese tipo, y

3. Fncapsulamiento de los objetos de ese tipo, de tal


manera que el usuario final del tipo no pueda
manipular esos objetos excepto a travs del uso de
las operaciones definidas.
Pratt (Pg. 351)

FONTELA, C. Programacin Orientada a Objetos Tcnicas Avanzadas de Programacin Pg. 16 a 23


Por qu la P.O.O ?
En general las herramientas tcnicas y abstracciones del software
convencional se convierten rpidamente en inadecuadas mientras que
los sistemas que requieren software son cada vez ms grandes y mas
complejos.

P.O.O
El auge de interfaces grficas
de usuario, la aparicin de
aplicaciones especiales para
Cada vez son mas sofisticadas las la WEB ha impulsado a
exigencias que deben satisfacer las nuevas formas de desarrollo
aplicaciones, las estructuras de datos de software
a utilizar ms complejas y mayor la
base de usuarios que deben acceder a
las aplicaciones.
Un poco de Historia
Algol

Simula 1960-1969 Pascal

Smalltalk 1980 C Pascal


orientado a
objetos
C++ 1980

2000
Java 1996
C#
Un poco de Historia
C parte de un lenguaje anterior, el lenguaje B, escrito por Ken Thompson en 1970
con el objetivo de recodificar el sistema operativo UNIX, que hasta el momento se
haba programado en ensamblador.

En 1972 es Dennis Ritchie (de los Laboratorios Bell de AT&T) quien disea
finalmente C a partir del B de Thompson, aportando un diseo de tipos y
estructuras de datos que consiguen una claridad y eficacia en el lenguaje muy
superior.

En 1980 surge C++ de la mano de Bjarne Stroustrup (tambin de laboratorios Bell


de AT&T), agrega conceptos de clases, funciones virtuales, etc. (O.O)

La ltima variante que ha surgido de C es el moderno C#. En el ao 2000, Microsoft


presenta su plataforma .NET junto con un nuevo lenguaje, C# (diseado por Anders
Hejlsberg), que servir de lenguaje principal de la plataforma.
Caractersticas del Diseo O.O
En la programacin imperativa tradicional, los algoritmos se describen en
base a procesos.

La programacin orientada a objetos encara la resolucin de cada


problema desde la ptica del objeto.

El objeto combina los datos (atributos del objeto) con los procedimientos
u operaciones (mtodos) que actan sobre dichos datos.

Los objetos interactan entre s enviando mensajes

Los mtodos son, en la prctica, muy similares a los procedimientos de la


programacin imperativa tradicional y los mensajes se podran pensar como
invocaciones a esos procedimientos.
Caractersticas del Diseo O.O

El programador orientado a objetos puede agrupar


caractersticas comunes de un conjunto de objetos en
clases, a travs de un proceso de abstraccin.

Los descendientes de estas clases se construyen por


medio del mecanismo de subclasificacin, permitiendo que
sean heredados los mtodos programados anteriormente
y debiendo programar solamente las diferencias.
Caractersticas del Diseo O.O

La Programacin Orientada a Objetos (POO) no se puede


desligar de todo el paradigma de orientacin a objetos.

Para hacer buena P00 hay que desarrollar todo el sistema


utilizando el paradigma, empezando por un anlisis y un diseo
orientados a objetos.

En general, el desarrollo de software implica, desde una visin


orientada a objetos, una serie de etapas para hacer:
requerimientos, anlisis, diseo, implementacin y prueba.
UML (Lenguaje de Modelado Unificado )

UML es un lenguaje que permite la visualizacin, especificacin


y documentacin de sistemas.

UML no es una metodologa sino una notacin, que aglutina


distintos enfoques de orientacin a objetos.

UML 2 define trece (13) diagramas para describir distintas


perspectivas del sistema
UML (Lenguaje de Modelado Unificado UML 2 )

Use Case Use Case Use Case State


Use Case Diagramas
Use Case de Use Case State State
Diagramas de
Diagrams Diagrams Diagramas de
Diagrams Diagramas de
Diagrams State
Diagrams Descripcin
Diagrams de Diagrams Diagrams Diagramas de
Diagrams
Tiempo Casos de Uso Paquetes Diagrams
la Interaccin Clases

Use Case State


Use Case State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Secuencia Objetos

Scenario Modelos State


Scenario Diagramas
State de
Diagramas de
Diagrams Diagrams
Diagrams Estructuras
Diagrams
Comunicacin Compuestas

Scenario Component State


Scenario Component State
Diagramas de
Diagrams Diagramas de Diagramas
Diagrams de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Estados Actividades Despliegue Componentes
Elementos Bsicos de la O.O

1. Objetos

2. Clases

3. Mtodos y Mensajes

4. Herencia
Objetos

Un objeto es una unidad atmica que encapsula estado y comportamiento.

La encapsulacin en un objeto permite una alta cohesin y un bajo


acoplamiento.

Los objetos son entidades que tienen atributos (datos) y comportamiento


particular (procedimientos)

Atributos de un objeto: Los atributos describen la abstraccin de


caractersticas individuales que posee un objeto.

Comportamientos: Los comportamientos de un objeto representan las


operaciones que pueden ser realizadas por un objeto.
Objetos
PELOTA Objeto : pelota
Comportamiento: rodar,saltar
COLOR
RODAR Estado : color : rojo, material : cuero,
tamao : pequeo.
MATERIAL SALTAR
AUTO
TAMAO
ARRANCAR
MARCA
CUENTA
PATENTE DETENER
DNI
COMBUSTIBLE AUMENTAR
EXTRAER VELOCIDAD
MONTO TEMPERATURA
DEPOSITAR

EXTRACCIONES MOSTRAR
Objetos

Objeto = Estado + Comportamiento + Identidad

Un coche
Ford K
BBA 123
40
80
?
? RECEPTOR
Una cuenta
32.123.451
1345,56
3
EMISOR
Objetos
Objeto = Estado + Comportamiento + Identidad
El estado agrupa los valores instantneos de todos los atributos de un
objeto. El estado evoluciona con el tiempo.

El comportamiento describe las acciones y reacciones de ese objeto.

Las operaciones de un objeto se desencadenan a consecuencia de un


estmulo externo, representado en forma de un mensaje enviado por
otro objeto.

El estado y el comportamiento estn relacionados.

La identidad permite distinguir los objetos de forma no ambigua,


independientemente de su estado. Esto permite distinguir dos objetos en
los que todos los valores de los atributos son idnticos.
Objetos

OBJETO ENCAPSULAMIENTO

Los objetos informticos definen una representacin abstracta de las


entidades de un mundo real o virtual, con el objetivo de controlarlos o
simularlos

Un objeto tiene una interfaz pblica que indica su funcionalidad (qu


estn dispuestos a hacer) y una representacin privada que es la
implementacin (cmo lo hacen).
Objetos

En UML, un objeto se representa bajo la forma de un rectngulo; el nombre


del objeto se subraya.
Alumno 1
Profesor 1
OtroAlumno
Profesor 2

O bien usando un nombre genrico mediante el uso de los :


:Alumno :Profesor
Objetos Diagramas de Comunicacin

Muestran las interacciones entre objetos en la estructura espacial esttica


que permite la colaboracin entre objetos. El tiempo no se representa de
manera explcita, por lo tanto los mensajes se numeran para indicar el
orden de los envos.
2:Verifica estado

:Video 4:Modifica estado

1:Solicita alquilar video 3: Registra alquiler

5: Entrega video

:Cliente :Alquiler
Objetos Diagramas de secuencia
Estos diagramas muestran interacciones entre objetos segn un punto de
vista temporal. Un objeto se representa por un rectngulo y una barra
vertical llamada lnea de vida de los objetos. El orden de envo de los
mensajes est dado por la posicin sobre el eje vertical.

:cliente :video :alquiler

Solicita alquilar
video Verifica estado
Registra alquiler

Entrega video Modifica estado


Objetos Diagramas de secuencia

Ingresar a la aplicacin web de correo electrnico de gmail

:Usuario :Fomulario :Usuarios :Formulario


Entrada Registrados Aplicacion
IngresarDatosUsuario ValidarUsuario(DatosUsuario)
VerificarDatosUsuario

AbrirFormularioMail

AdministrarMails
Salir
Objetos Diagramas de secuencia Juego de Damas

:Jugador :Interface :TableroReglas :AlgoritmoJuego

MoverPieza muevePieza

ValidarMovimiento

RefrescarPantalla

MoverComputadora

ObtenerEstadoActual

EstadoActual
AnalizarEstadoActual

RealizarMovimiento
RefrescarPantalla
Objetos Diagramas de secuencia
Fragmentos combinados

Existen mecanismos que permiten agregar un grado de lgica de


procedimientos a los diagramas.
Un fragmento combinado es una o ms secuencias de procesos incluidas
en un marco y ejecutadas bajo circunstancias especficas.

Fragmento Alternativa (denotado alt): modela la eleccin de una


interaccin, a travs de una condicin de guarda, es decir, modela
estructuras condicionales del tipo ifthenelse.

Fragmento de iteracin o bucle (denotado loop): el fragmento incluye


un conjunto de mensajes que se ejecutan mltiples veces, segn lo
indique la condicin de guarda
Objetos Diagramas de secuencia
Fragmentos combinados
Objetos Diagramas de secuencia
Fragmentos combinados

Iteracin para que el diagrama de secuencia modele una llamada desde un telfono celular a
travs de un nmero de la misma provincia (un nmero de 9 dgitos).
Clases

ABSTRACCION CLASE ENCAPSULAMIENTO

Una clase abstrae las caractersticas de un conjunto de


objetos con comportamientos similares.

La encapsulacin de una clase permite la cohesin y


presenta distintas ventajas bsicas:

Se protegen los datos de accesos indebidos


El acoplamiento entre las clases se disminuye
Favorece la modularidad y el mantenimiento
Clases

Una clase es una descripcin de un conjunto de objetos,


ya que consta de comportamientos y atributos que resumen
las caractersticas comunes del conjunto.

La posibilidad de definir clases es una de las ventajas de


la orientacin a objetos; definir clases significa colocar
cdigo reutilizable en un depsito comn en lugar de
redefinirlo cada vez que se necesite.

Cada objeto es instancia de una clase.


Clases

Cada clase se representa en un rectngulo con tres


compartimientos: Motocicleta
color
nombre de la clase cilindrada
atributos de la clase velocidad mxima

operaciones de la clase arrancar()


acelerar()
frenar()
Clases

CAJA DE AHORRO Una caja

89789/01
Nmero de cuenta: cadena Es una instancia 1540.50
Saldo: real 2
Cant-extracciones: entero

depositar; Es una instancia :CAJA DE AHORRO


extraer;
consultarsaldo; 89789/01
1540.50
2
Clases - Visibilidad

Los atributos de una clase no deberan ser manipulables directamente


por el resto de objetos, no obstante existen distintos niveles de
encapsulacin tambin llamados niveles de visibilidad.

Reglas de visibilidad CAJA DE AHORRO

+ Atributo pblico
-Nmero de cuenta: cadena
# Atributo protegido
-Saldo: real
- Atributo privado
-Cant-ext: entero
+ Mtodo pblico
# Mtodo protegido
- Mtodo privado +depositar;
+extraer;
+consultarsaldo;
Clases Mtodos y Mensajes

Los objetos tienen la posibilidad de actuar. La accin sucede cuando


un objeto recibe un mensaje, que es una solicitud que pide al objeto
que se comporte de manera determinada.

Cada objeto recibe, interpreta y responde a mensajes enviados por


otros objetos.

Los comportamientos u operaciones que caracterizan un conjunto de


objetos residen en la clase y se llaman mtodos.

Los mtodos son el cdigo que se ejecuta para responder a un


mensaje, y el mensaje es la llamada o invocacin a un mtodo.
Clases Mtodos y Mensajes

ALUMNO
A1
-Nombre: cadena A2
-Fecha Nac.:cadena
Ana Perez
-Fecha Ingr.: cadena Juan Castro
12/8/80
15/3/2000 +Mostrar_Datos() 21/9/82
+Mostrar_Edad() 20/3/2002
+Mostrar_Indice()

A1.Mostrar_Edad() A2.Mostrar_Edad()
Mensaje

Mtodo Alumno.Mostrar_Edad()
Herencia Generalizacin y Especializacin
La generalizacin consiste en factorizar los elementos comunes
(atributos, mtodos y restricciones) de un conjunto de clases en una
clase ms general llamada superclase.
VEHCULO
generalizacin

VEHCULO VEHCULO
TERRESTRE AREO

COCHE CAMIN AVIN HELICPTERO


Herencia Generalizacin y Especializacin
La especializacin permite capturar las particularidades de un conjunto
de objetos no discriminados por las clases ya identificadas.

CUENTA BANCARIA
especializacin

CAJA DE CUENTA
AHORRO CORRIENTE

EN PESOS EN
DOLARES
Herencia Generalizacin y Especializacin

Las clases se ordenan segn una jerarqua, una superclase


es una abstraccin de sus subclases.

Los rboles de clases no crecen a partir de una raz. Por el


contrario, se determinan partiendo de las hojas porque stas
pertenecen al mundo real mientras que los niveles superiores
son abstracciones construidas para ordenar y comprender.

Una subclase identifica el comportamiento de un conjunto


de objetos que hereda las caractersticas de la clase padre y
adicionan algunas especficas que sta no posee.
Herencia clase abstracta y clase concreta
Empleado
-Nombre: cadena
clase abstracta
-DNI: cadena
+Mostar_Datos()

Docente Administrativo
D
-Ttulo: cadena -Categora: entero
Juan Prez -Dedicacin: cadena
11.456.789 +Calcular_Incentivo() +Calcular_Bonificacin()
Ingeniero
Exclusiva
clase concreta clase concreta
Herencia mtodos y mensajes
ALUMNO

-Nombre: cadena A1.Mostrar_Edad()?


-Fecha Nac.:cadena
A1
-Fecha Ingr.: cadena
Ana Perez E.Mostrar_Edad()?
+Mostrar_Datos() 12/8/80
+Mostrar_Edad() 15/3/2000
+Mostrar_Indice() A1.Mostrar_Indice()?

E.Mostrar_Indice()?
Egresado

E
-Fecha_egre: cadena Juan Garca E.Mostrar_Promedio()?
-Prom_Gral: real 21/10/83
+Mostrar_Promedio() 15/3/1992
+Mostrar_Indice() 15/8/1998
+Mostrar_Fegre() 7.50
Herencia variables de clase y de instancia
Impresin

-razon_social= Supermercado EL Torito


-cuit=12-6874158-1
variables de clase

ImpresinFacturas ImpresinNotaCredito
ImpresinRecibos
-Nro_Factura
............
-momCliente
-......................
+ emitirfactura()
+ . variables de instancia
Herencia Tipos de herencia
TRAPECIO

Herencia simple
PARALELOGRAMO

Herencia simple

ROMBO RECTANGULO


Herencia mltiple
CUADRADO

Ejemplo Herencia Mltiple



cd Business Process Model

Persona


Alumno
Empleado


Docente NoDocente
Hereda
caractersticas

de Alumno y

de Docente
Ayudante


Herencia
cd Business Process Model

Vehculo Conclusin: podemos


- velocidad:
Kmh
decir que, dentro de una
jerarqua
de
clases, la
+ viajar(Lugar, Lugar) : void
+ mostrarDatos()
: void
herencia propaga las
caractersticas
de la clase
superior en sus clases
descendientes,
Av ion
de modo
- altitud: long

:void que
+ aterrizar() varias
clases
pueden
+ despegar() : void
+ mostrarDatos() : void
compartir una misma
descripcin.

Relaciones entre clases

En la primera etapa del DOO, se identifican las clases.

Aunque algunas clases pueden existir aisladas, la mayora no puede, y


deben cooperar unas con otras.

Las relaciones entre las clases expresan una forma de acoplamiento entre
ellas.

Acoplamiento entre clases es el nmero de clases con


las que una clase concreta est acoplada. Una clase
est acoplada si sus objetos lo estn. Un objeto est
acoplado con otro si uno de ellos acta sobre el otro.
Relaciones entre clases

Segn el tipo de acoplamiento que presentan las clases podemos distinguir


distintos tipos de relaciones.

Asociacin

Agregacin

Generalizacin / Especializacin / Herencia /


Asociacin
La relacin de asociacin representa una conexin semntica bidireccional
entre dos clases.
Una asociacin es una abstraccin de los vnculos que existen entre
objetos instancias de las clases asociadas.

Alumno Asignatura

-matrcula -cdigo
+ nombre
+DNI inscripcin
+ .............
+ ............. 1..* 1..*
+ ............. + .............

En UML la multiplicidad indica el nmero de instancias (cardinalidad) que participan en la


relacin, y se anota en cada extremo de la relacin.
Asociacin Docente_Director

-nombre

Los valores de multiplicidad ms comunes son:


1

1 uno y slo uno tesis


0..1 cero o uno
m..n de m a n (m y n enteros naturales) 0..*
* de cero a varios Alumno_Tesista
0..* de cero a varios
1..* de uno a varios -matrcula

La asociacin no es contenida por las clases, ni subordinada a las clases asociadas;


reflejan de una conexin que existe en el mbito de la aplicacin.

Las asociaciones pueden ir acompaadas de un nombre que permite una mejor


legibilidad del diagrama y se representa por una lnea continua entre las clases
asociadas.
Asociacin Actividades Conjuntas
Paciente
Medico
-nombre
-nombre -direccin
-direccin
? ?
+ .

+pacientes Atendidos

Ubicacim
Obras_Arte
-piso
-autor -num_sala
-estilo
? ?
+.......... +..........
Asociacin Clase Asociacin

Alumno Asignatura

-matrcula inscripcin -cdigo Una asociacin puede


................ ............ representarse por una
1..* 1..*
+ ............. + ............. clase, para aadir
+ ............. + ............. atributos y
operaciones que no
Solicitud son inherentes a las
clases asociadas.
-matrcula
-cdigo
- fecha

Las asociaciones tienen especial inters cuando es N a N.


Para asociaciones 1 a 1, los atributos de la asociacin pueden desplazarse a una de las clases
que participan.
Cuando la asociacin es de 1 a n, los atributos de la asociacin pueden desplazarse a la clase de
cardinalidad n.
Agregacin
Es una forma de asociacin en donde los objetos de una clase contienen otros
objetos.

La agregacin es una relacin no simtrica (todo/parte) en la que una de


las clases cumple un papel predominante respecto de la otra.

Por otra parte la agregacin declara una direccin a la relacin todo/parte.

Grficamente se representa colocando un rombo del lado de la clase agregado.

Agregacin Composicin
Agregacin (Agregacin)
Un objeto de una clase contiene como partes a objetos de otras clases
La destruccin del objeto continente no implica la destruccin de sus partes.
Los tiempos de vida de los objetos continente y contenido no estn tan estrechamente
acoplados, de modo que se pueden crear y destruir instancias de cada clase
independientemente.

Orden de 1..*
todo Pedido
Museo 1 1..* Obra

1..*
1..*
Plato
1..*
Bebida parte

parte
Se suele decir que el objeto continente incluye referencias a objetos de otras clases
Agregacin (Agregacin)

En el caso de las agregaciones propiamente dichas, no hay


restricciones en la multiplicidad del agregado u objeto continente.

Propietario 1..n
Propiedad
1..*

En este ejemplo, un propietario puede tener varias propiedades, y


una propiedad puede pertenecer a varios propietarios.
Agregacin (Composicin )

Un objeto de una clase contiene como partes a objetos de otras clases y estas partes estn
fsicamente contenidas por el agregado.

Los tiempos de vida de los objetos continente y contenido estn estrechamente acoplados
La destruccin del objeto continente implica la destruccin de sus partes.
1
1
AVION

2 2
Ala Hlice

Las composiciones generan una relacin de existencia entre el todo y cada una de
sus partes.
Agregacin (Composicin )

Alumno
-nombre: cadena
-Curso: entero Garage
-grupo: entero Lugar
-nota: Nota_Final -nombre=Ruta 10
-disponibilidad=75 -piso
1 1..n
+imprimir datos -libre: entero -zona
1 -lugares: Lugar -numero

+Ocupar() + estado()
1
+Liberar +..............
Nota_Final +..........
-calificacion
-comentario_prof

+imprimir datos En el caso de la composicin, la multiplicidad del lado


agregado puede tomar el valor 0 o 1. El valor 0 se refiere a
un atributo no explicitado.
Agregacin (Sntesis)
La agregacin se utiliza para modelar la relacin todo-parte (continente-
contenido) y se describe mediante la relacin tiene-un o parte-de.

Algunos criterios para detectar agregaciones[1]:

Los objetos de una clase estn subordinados a los objetos de otra


clase.

Una accin sobre una clase implica una accin sobre otra clase.
Los valores de los atributos de una clase se propagan en los valores de
los atributos de otra clase.

[1 ] Modelado de Objetos. Modelado de objetos con UML / Pierre-Alain Muller . Pg103


Diagrama de Clases
Un diagrama de clases es un diagrama esttico que describe la estructura
de un sistema mostrando sus clases, atributos y las relaciones entre ellos.

Los diagramas de clases son utilizados durante el proceso de anlisis y


diseo de los sistemas.
Auto Garage
0..* 0..1
-Marca -nombre=Ruta 10
-patente -disponibilifdad=75
Lugar
+.......... -libres
-piso
asociacin -lugares
-zona
+Ocupar() -numero
+Liberar
+.......... + estado()
+..............
composicin
Diagrama de Clases
Video
-cdigo
-ejemplares Cliente
-nombre
-genero -nombre
1
-direccin
Alquiler - moroso
+devolver -ejemplar
+alquilar -cliente +ObtenerNombre
+ ......................... -fechaPrestamo + ...................
1 -fechaAlquiler

1..* +registrarPrestamo 1..*


+ .....................
Ejemplar
-codigo 1 1..*
-numero
-estado

+ObtenerEstado
+CambiarEstado
+ .........................
Diagrama de Clases
Diagrama de clases

Objetos

Diagrama de Clases
(ACTIVIDAD
Conjunta)

cd
Domain
Obj
ects

Persona

- ApellidoNombre: String

Identifique
el
- dni: int

tipo de
relaciones
Domicilio existentes
int entre
las
clases
Viaj ero Mucama - calle: String
- fechaIngreso:
Fecha
- numero:
- numeroTarjeta: int
- piso: int y la
- legajo: int
cardinalidad
- telefono: int
- departamento: char
- mail:
int
de las mismas.

Habitacin
Localidad Prov incia
- numero:
int - identificador:
int - identificador:
int
- tipo: int
Ocupa - nombre: String - nombre: int

- fechaIngreso:
Fecha

- cantidadDias: int


Actividad para presentar

Especificar un diagrama de clases que describa redes de ordenadores.

Los elementos que se pueden incluir en la red son:


Servidor, PC, Impresora.
Hub, Cable de red.
Los PCs pueden conectarse con un nico Hub, los servidores con uno o
varios PC. Los Servidores y PCs pueden generar mensajes, con una
cierta longitud.
Los Hubs tienen un nmero de puertos, algunos de los cuales puede
usarse para conectar con otros Hubs. Tienen cierta probabilidad de
perder mensajes.
Las impresoras pueden averiarse, con cierta probabilidad, durante
cierto tiempo.
Conceptos Claves (1)
Encapsulamiento
Trmino formal que describe al conjunto de mtodos y de datos de un
objeto de manera tal que el acceso a los datos se permite solamente a
travs de los mtodos propios del objeto.
La comunicacin entre los distintos objetos se realiza solamente a travs
de mensajes explcitos.
Abstraccin
La orientacin a objetos fomenta que los programadores y usuarios
piensen en las aplicaciones en trminos abstractos.
A partir de un conjunto de objetos, se piensa en los comportamientos
comunes de los mismos para situarlos en superclases, las cuales
constituyen un depsito para elementos comunes y reutilizables
Conceptos Claves (2)

Polimorfismo
Capacidad que tienen objetos de clases diferentes, relacionados
mediante la herencia, a responder de forma distinta a una misma
llamada de un mtodo.
Fomenta la extensibilidad del software
Software escrito para invocar comportamiento polimrfico se escribe
en forma independiente del tipo de los objetos a los cuales los
mensajes son enviados
Nuevos tipos de objetos, que pudieran responder a mensajes
existentes, pueden ser agregados en dicho sistema sin modificar el
sistema base.
Conceptos Claves (3)

Persistencia
designa la capacidad de un objeto de trascender el tiempo o el espacio
un objeto persistente conserva su estado en un sistema de
almacenamiento permanente (pasivacin del objeto)
el objeto puede ser reconstruido (activacin del objeto) por otro proceso y
se comportar exactamente como en el proceso inicial

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