Vous êtes sur la page 1sur 7

UNIVERSIDAD TECNOLOGICA NACIONAL - FRM Tecnicatura Superior en Programacin

PRCTICO 2
Entrega: 9-Abril-2009

Programacin II
Relaciones entre Clases Alumno:

El presente prctico tiene por objeto entender y dominar las relaciones entre clases y objetos. Fuentes de lectura e investigacin : apuntes de clase, bibliografa propuesta, Internet.

Ejercicio 1 Defina: a. Agregacin: Cuando un objeto es declarado dentro de otro objeto; al destruir el objeto contenedor no se destruye el objeto contenido. b. Composicin. Cuando un objeto es declarado e inicializado dentro de otro objeto; al destruir el objeto contenedor se destruye el objeto contenido. c. Herencia. Cuando una clase copia para s todos o algunos de los atributos y mtodos de otra clase.

Ejercicio 2 De dos ejemplos (de la vida real), de agregacin, composicin y herencia entre objetos. Modele las relaciones utilizando un diagrama de clases UML. Herencia: Una camioneta tipo van y una ambulancia. La ambulancia hereda de la camioneta todas sus caractersticas tpicas y agrega caractersticas propias de una ambulancia. Composicin: Un disco rgido con el software que tiene dentro; si se rompe el rgido se rompe lo que tiene dentro. Ejercicio 3 Codifique en java los diagramas del ejercicio 2.

Ejercicio 4 Caso. Se solicita el modelado de un sistema de sueldos de empleados de la municipalidad. Caractersticas: Debe existir la posibilidad de aplicar el sistema en varios municipios. Existen diferentes categoras de empleados. A cada categora se asocian distintos tems: aportes y retenciones al sueldo bsico. Se debe tener en cuenta el presentismo. El mismo se calcula de acuerdo a un cronograma de das hbiles de trabajo previamente establecido.

Realice todos los aportes que considere necesarios al anlisis y diseo del problema. Empleado float

Ejercicio 5 Codifique en Java

Solucin class B { private String nombre; private A b = new A(); //composicion public float mostrar() { System.out.println( nombre ); return 0.0f; //solo para respetar el UML } } class Ad extends A{ private char n; private float o; private String nombre = "Juan"; public float raiz() { return 1.0f; } } class D { private String nombre = "Juan"; private B Y[] = new B[4]; //composicion public void mostar() { System.out.println("dentro de metodo mostrar"); } } class C extends B { private String nombre; public float mostrar() { System.out.println("algo"); return 0.0f; } } public class A { private char a; private float b; public A() { //este constructor no esta en el UML, pero igual lo ponemos a=1; b=1; } public float raiz() { return (float)Math.sqrt( b ); } }

Solucin class B { private String nombre; public void mostrar() { System.out.println( nombre ); } } class C extends B { private String nombre; public void mostrar() { System.out.println("algo"); } } class A2 { private char a; private float b; private C Ab = new C(); public float raiz() { float k=3; return (float)Math.sqrt( k ); } } public class A { private char a; private float b; private B End2[] = new B[4]; public A() { //este constructor no esta en el UML, pero igual lo ponemos this.a = 0; this.b =0; }

public float raiz() { return (float)Math.sqrt( b ); } }

Se puede establecer la relacin que est en rojo ? Probarlo.

Ejercicio 6 Dado el siguiente modelo

1.

Cambie los nombres de clase y atributos para que se correspondan con algn ejemplo de la vida real.

2.

Cmo se puede asignar un valor a los atributos atrib1 y atrib3 de la clase D, desde el metodo metodok de la clase B.

Ejercicio 7 Realice el modelo UML correspondiente al siguiente cdigo Java

class Persona { protected String nombre; protected java.util.Date fechaNac; protected String documento; } class Empleado extends Persona { protected int codigoEmp; protected char area; protected int antiguedad; public Empleado(int codigo) { this.codigoEmp = codigo; } } class Formulario { char categoria; int numero; java.util.Date fechaExpedido; } class PlanillaSueldos extends Formulario { byte mes; Empleado Empleados[]; public PlanillaSueldos(Empleado emples[]) { this.Empleados = emples; } } public class Principal { public static void main(String args[]) { Empleado emples[] = new Empleado[2]; emples[1] = new Empleado( 1 ); emples[2] = new Empleado( 2 );

} }

Vous aimerez peut-être aussi