Programación Orientada a Objetos Repasando conceptos Prof. Dr. Eric Jeltsch F. 0.- Diseñe una clase para manipular nº complejos. La cual debe incluir atributos, constructores, métodos para sumar, restar, multiplicar y dividir nº complejos y una clase principal para testearlo. Puede usar cualquier clase de las vistas para el ingreso de datos. 1.- Definir una clase Rectangulo con dos atributos, base y altura de tipo entero, y dos métodos, uno que devuelva la base y otro que devuelva la altura. 2.- Añada ahora un constructor que permita crear un Rectangulo a partir de una base y una altura dada. 3.- ¿Qué es un constructor por defecto? ¿Cuál es la misión de un constructor? 4.- Sobrecargue el constructor de la clase creada Rectangulo, utilizando un constructor que no lleve ningún parámetro. 5.- Muestre un constructor que pueda sustituir al constructor generado en 2.- Si nos fijamos ese constructor tiene dos parámetros uno llamado base y otro altura. La misión del nuevo constructor es inicializar los atributos base y altura, que por casualidad tienen el mismo nombre que los parámetros del constructor. ¿Que hacer para que todo funcione correctamente y asegurar que estamos accediendo a los miembros del objeto y no a los parámetros del constructor.?. 6.- Usando lo anterior, cree ahora dos objetos rectángulos e imprima las bases y las alturas de estos por pantalla. 7.- Como queda la clase principal.?. 8.- Codifique ahora un método en la clase Rectangulo que devuelva el área de éste. Imprima por pantalla el área de los dos objetos rectángulos creados. 9.- ¿Cuál es la interfaz de la clase Rectangulo actualmente? 10.- ¿Qué ocurre si el método obtenerArea() es privado? y ¿si fuera protected? 11.- ¿Qué tipos de memoria utiliza Java cuando ejecuta un programa? ¿Para qué sirve cada uno de esos tipos de memoria?. 12.- ¿Cuál es la interface de la clase Rectangulo actualmente? 13.-¿Dentro de los conceptos vistos en clases, que tipo de herencia posee Java.?. Que otro tipo de herencia existe.? 14.- ¿Cómo la representa a través de UML?. 15.- ¿Qué ocurre si se llama a un método sobre un objeto que no ha sido creado con new? ¿Hay error en tiempo de compilación?. 16.- ¿Qué diferencia existe entre referencia y objeto? ¿Para qué se utiliza null? 1 Escuela Ingeniería en Computación, Universidad de La Serena.