PDF de programación - Interaccion entre objetos

Imágen de pdf Interaccion entre objetos

Interaccion entre objetosgráfica de visualizaciones

Publicado el 23 de Marzo del 2021
697 visualizaciones desde el 23 de Marzo del 2021
515,7 KB
44 paginas
Creado hace 11a (13/04/2013)
INTERACCION ENTRE

OBJETOS

Corina Flores Villarroel
UMSS - Programa MEMI



Corina Flores V.

Programa MEMI

Contenido

Este capítulo se discutirán conceptos

relacionados con:

• Abstracción y encapsulamiento,

• Modularización, composición

• Creación de objetos,

• Diagramas de objetos,

• Llamadas a métodos,

• Depuradores

Corina Flores V.

Programa MEMI

Contenido

1. El ejemplo de las fechas
2. Abstracción y modularización
3. Diagramas de clases
4. Diagramas de objetos
5. Tipos primitivos
6. Tipos objeto Objetos que crean objetos
7. Constructores múltiples
8. Métodos públicos vs. privados



Corina Flores V.

Programa MEMI

Introducción

Hasta el momento … ya sabemos! qué son los

objetos, cómo se implementan, así también
conocemos qué es un campo (datos de un obj.),
constructores y métodos.



En este capítulo nos ocuparemos de construir
aplicaciones interesantes, en el que será preciso la
participación de objetos entre sí, de manera que
combinados puedan cooperar para ejecutar tareas
comunes.

Corina Flores V.

Programa MEMI

Características asociadas

Las caracteristicas asociadas a POO se traducen en:



Abstracción

Encapsulación

Ocultamiento

Modularización

Corina Flores V.

Programa MEMI

Características asociadas

Abstracción:



Consiste en captar las características
esenciales de un objeto, así como su
comportamiento.


Por ejemplo, veamos un
celular …



¿Qué características
podemos abstraer de los
celulares?

O lo que es lo mismo …

¿Qué características
semejantes tienen todos los
celulares?

Corina Flores V.

Programa MEMI

Características asociadas

Y en cuanto a su comportamiento…



Por ejemplo, veamos un
celular …



¿Qué tareas pueden realizar
los celulares?

O lo que es lo mismo …

¿Qué tareas semejantes saben
hacer todos los celulares?

Corina Flores V.

Programa MEMI

Características asociadas

En los lenguajes de programación orientada a

objetos, el concepto de Clase es la representación y
el mecanismo por el cual se gestionan las
abstracciones.


Por ejemplo, en Java tenemos:



public class Celular {
// atributos
// métodos
}


Corina Flores V.

Programa MEMI

Características asociadas

Encapsulación:



Consiste en unir en la Clase las
características y comportamientos,
esto es, los atributos y métodos.

Es tener todo esto es una sola entidad.

Celular

Marca
Modelo
Pantalla

Llamar()
Enviar_mensaje()
Colgar()

Corina Flores V.

Programa MEMI

Encapsulación en tiempo
de desarrollo

Características asociadas

Encapsulación:



La utilidad del encapsulamiento va por
la facilidad de manejar la complejidad,
ya que tendremos a las Clases como
cajas negras, donde sólo se conoce el
comportamiento (interfaz publica)
pero no los detalles internos.

Encapsulación en tiempo
de ejecución.

Corina Flores V.

Programa MEMI

Características asociadas

Encapsulación:



Es un mecanismo de control. Los datos
de un objeto, sólo pueden modificarse
por medio de los metodos de ese
objeto.

Entonces, …
1. La modificación de un atributo o campo debe

realizarse por medio de un método.

2. La consulta del valor de un atributo o campo

debe tambien realizarse por medio de un
método especialmente destinado a esto

Corina Flores V.

Programa MEMI

Características asociadas

Por ej.: Si desariamos modificar de marca el celular, tendriamos
un método como …



public void setMarca(String m){
Marca = m;
}


Y si quisieramos consultar la marca del celular, tendriamos que
tener un metodo como…

public String getMarca(){
return Marca;
}


Programa MEMI

Corina Flores V.

Características asociadas


Ocultamiento:



Es la capacidad de ocultar los detalles
internos del comportamiento de una
Clase y exponer sólo los detalles que
sean necesarios para el resto de las
clases.

El ocultamiento permite 2 cosas:

1. Restringir y controlar el uso de una clase (algunos

comportamiento privados).

2. Validar algunas condiciones antes de modificar el

estado de un objeto.

En Java el ocultamiento se logra usando las palabras reservadas:
private y protected delante de las atributos y métodos.

Corina Flores V.

Programa MEMI

El ejemplo de la fecha

Se desea mostrar una fecha en la pantalla teniendo

en cuenta el siguiente formato:



DD/MM/AAAA

Dia

Mes

Año

Corina Flores V.

Programa MEMI

Abstracción

La fecha, con el formato especificado…
¿puede ser implementado con una sola
clase?
SI!



Sin embargo, …

analizaremos antes el

problema para ver su complejidad.



Corina Flores V.

Programa MEMI

Abstracción

 La complejidad es parte inherente de los programas,

tratarlos es IMPORTANTE!


 El hombre está seriamente limitado para tratar la
complejidad. Puede tener en mente 7 asuntos ó
elementos simultáneamente.


 Sin embargo, cualquier tipo de problema, excepto los más

simples, manejan más de 7 elementos. ¿Qué hacer?


 Solución!! … agrupar elementos relacionados y manejar

éstos en grupos como una sola unidad.



Corina Flores V.

Programa MEMI

Modularización


Proceso de dividir un todo en partes
bien definidas que pueden ensamblarse

y examinarse separadamente, y que

interaccionan en formas bien definidas



Modularización

• Cada parte se denomina módulo.
• El mecanismo principal de modularización en la
Programación Orientada a Objetos es la clase

Corina Flores V.

Programa MEMI

Modularización


¿Cuándo es útil aplicar modularización?



1. Cuando existe un grupo de instrucciones o una tarea específica


que deba ejecutarse en más de una vez.


2. Cuando un problema es complejo o extenso, la solución se

“divide” o “segmenta” en módulos que ejecutan “partes” o tareas
específicas. Dicha solución se organiza de forma similar a como
lo hacen las empresas cuando se estructuran con base en las
funciones para realizar sus actividades

Existe un módulo directivo o de control, que se encarga
de distribuir el trabajo a los demás módulos

Corina Flores V.

Programa MEMI

Composición


Permite que la clase “todo” controle la
existencia de las “parte”.

Es decir … la clase todo creara al

principio las clases parte.



Composición

Cada parte colabora entre si.
Y todas completan el trabajo.


Corina Flores V.

Programa MEMI

Modularizando: Problema de la fecha

• Veamos cómo esta formada



18 Marzo

2011

Se observa que esta
compuesto
por tres partes


El dia


El mes

El año

Corina Flores V.

Programa MEMI

Modularizando: Problema de la fecha

• El dia, se desplaza entre 1 a 31,o 1 a 30 o 1 a 28-29

… dependiendo del mes que se trate.

• El mes, en cambio de 1 a 12
• El año, se representa con cuatro digitos por ejemplo:

1999 …



El problema se puede resolver con una clase
que represente un contador con límite.

Para cada contador se puede crear
una instancia de la clase

Corina Flores V.

Programa MEMI

Modularizando: Problema de la fecha

• Comencemos dibujando el modelo de la clase que

nos permitirá abstraer la representación.

Dia



public class Dia
{
private int limiteDia;
private int valor;

… // constructores y métodos
}

Corina Flores V.

Programa MEMI

Modularizando: Problema de la fecha

• Podemos completar la fecha, teniendo en cuenta a

éste como un objeto que tiene internamente tres
números (dia, mes,año).

• Entonces, cada uno puede ser un campo de la fecha

Mes

de esta manera.



Dia

public class Mes
{
private Dia dia;
private Dia mes;
private String mensaje;
private String nombreMes;
… // constructores y métodos
}

Corina Flores V.

Programa MEMI

Modularizando: Problema de la fecha


MM

DD



public class Mes
{
private Dia dia;
private Dia mes;
private String mensaje;
… // constructores y métodos
}

Tipo de
dato



Campos

1. Nombre de una clase puede ser usado como tipo
2. Si el tipo de un campo es una clase, entonces el


campo puede contener objetos de esa clase.

Corina Flores V.

Programa MEMI

Sobrecarga de constructores

• Cuando dos o más constructores tienen el mismo

nombre pero diferentes parámetros.


El compilador decide qué constructor invocar
dependiendo de los parámetros usados



public Mes()
{
dia = new Dia(); //31
mes = new Dia(); //12
actualizarMensaje();
}


public Mes(int dia1, int mes1)
{
dia = new Dia();
mes = new Dia();
setFecha(dia1, mes1);
}


Corina Flores V.

Programa MEMI

Diagrama de clases

• Diagrama de clase: muestra las clases y sus
relaciones - vista estática de la aplicación: en
edición.



Corina Flores V.

Programa MEMI

Diagrama de objetos

• Diagrama de objetos: muestra los objetos y sus
relaciones - vista dinámica de la aplicación: en
ejecución.



public Mes(Dia d)
{
dia = d;
limiteMes = 12;
valorMes = 0;
actualizarMensaje();
}

12

: Dia

Mes1: Mes

dia



Cuando su tipo de una variable o campo es de tipo
objeto, el valor no se almacena en el espacio de la
variable o campo - se almacena una referencia al
objeto que tiene su propio espacio

Corina Flores V.

Programa MEMI

Paso de parámetros a métodos …

Dos tipos:

1. Paso por valor:

Cuando, se realiza una copia de los valores que se pasan
en los parámetros, con los cuales se trabaja dentro del
método. Es por ello que cualquier cambio que sufran
dentro, no repercute fuera del método.

2. Paso por referencia:

No realiza copia, solo se pasa una referencia
al objeto,
  • Links de descarga
http://lwp-l.com/pdf19023

Comentarios de: Interaccion entre objetos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad