Sie sind auf Seite 1von 7

2012

Trabajo1-Ejercicio1
Optativa 1
Profesora: Ing. Elina vila

Martha Sapatanga Jorge Merchn Universidad de Cuenca 09/04/2012

1. Defina y ejemplifique los conceptos de clase, mtodo, instancia y mensaje. Clase: es la definicin de un tipo de objeto. Al definir una clase lo que se hace es indicar como funciona un determinado tipo de objetos. Luego, a partir de la clase, podremos crear objetos de esa clase. Ejemplo: Fig. 1

Fig. 1

Fig. 2

Mtodo: son acciones o comportamientos que tienen la clase, consta de nombre y cuerpo. Ejemplo: getNombre(). Instancia: es un objeto, que tiene identidad propia, aunque tenga los mismos atributos. Ejemplo: miEstudiante. Fig.2 Mensaje: es la capacidad de transmitir informacin al realizar solicitudes entre diferentes objetos o entre mtodos y objetos, es decir realiza una peticin. Consta de emisor y receptor. Ejemplo: otra clase llamada Profesor, pide el nombre del estudiante, el cual ser respondido por el mtodo getNombre() de la clase Estudiante. 2. Cul es la relacin entre los conceptos de clase, subclase y superclase?

Una subclase es una clase que desciende de otra clase. Una subclase hereda el estado y el comportamiento de todos sus ancestros. El trmino superclase se refiere a la clase que es el ancestro ms directo, as como a todas las clases ascendentes.

3. Qu es this? En qu casos se usa? Qu es super? En qu casos se usa?


La palabra clave this puede utilizarse en cualquier mtodo de la clase para referirse al objeto actual. Cada vez que se llama a una funcin miembro, automticamente se pasa un puntero al objeto que la llama. Se puede acceder a este puntero utilizando this. En la clase Cuadrado, en el cuerpo de la funcin modifica, usamos el operador this para distinguir, los atributos de los parmetros de la funcin; ya que tienen el mismo nombre. Se accede al objeto actual a travs del puntero this. En el caso de no utilizarse, la modificacin no se habra producido en los atributos lado y color.

A veces se requiere llamar a un mtodo de la superclase. Eso se realiza con la palabra reservada super. Si this hace referencia a la clase actual, super hace referencia a la superclase respecto a la clase actual, con lo que es un mtodo imprescindible para poder acceder a mtodos anulados por herencia.

super.acelerar(cantidad) llama al mtodo acelerar de la clase vehculo (el cual acelerar la marcha). Es necesario rede redefinir el mtodo acelerar en la clase coche ya que aunque la velocidad vara igual que en la superclase, hay que tener en cuenta el consumo de gasolina

4. Qu es el polimorfismo? Por qu es tan importante? De un ejemplo del uso de polimorfismo. De un ejemplo en el cual por no aplicar polimorfismo se llega a un diseo difcil de mantener y entender. El polimorfismo significa que una clase (generalmente abstracta) representa un conjunto formado por objetos diferentes y que estos son instancias de subclases diferentes. Cuando se llama a un mtodo del mismo nombre, esta ses diferencia se traduce en comportamientos distintos (excepto en los casos en los que el mtodo es comn y ha sido heredado de la superclase en las subclases), esto nos simplifica la programacin, es importante porque nos sto programa , permite programar de manera general que de manera especfica, es decir especfica permite que el cdigo se escriba una vez, con un alto nivel de abstraccin, y que sea ajustado como sea necesario para corresponder a una variedad de corresponder situaciones, lo que implica la reduccin en el tiempo de desarrollo. aciones, Ejemplo: El mtodo acariciar tiene un comportamiento diferente segn si el caballo es una instancia de CaballoSalvaje o de CaballoDomestico En el primer caso, CaballoDomestico. el comportamiento ser un rechazo (que se traducir en un enojo mientras que enojo), en el segundo el comportamiento ser una aceptacin.

En caso de no aplicar polimorfismo, el programa se hace extenso, el mtodo acariciar(), est en la superclase Caballo, y esta modificada de acuerdo a lo necesario en cada subclase, en caso de no ser as, el mtodo serian implementadas en cada subclase, por lo cual dejara de usar polimorfismo, sera difcil la escabilidad y todas las caractersticas que hacen un buen diseo. 5. Qu es el binding dinmico y cul es su relacin con el polimorfismo? El polimorfismo tiene que ver con la relacin que se establece entre la llamada a un mtodo y el cdigo que efectivamente se asocia con dicha llamada. A esta relacin se llama vinculacin (binding). La vinculacin puede ser temprana (en tiempo de compilacin) o tarda (en tiempo de ejecucin, dinmico). Con funciones normales o sobrecargadas se utiliza vinculacin temprana. Con funciones redefinidas en Java se utiliza siempre vinculacin tarda. 6. Cul es la diferencia entre clase abstracta y clase concreta? Abstracta: Es una clase de apoyo y solo se construye para derivar de ellas otras Clases, pero no se puede hacer ninguna instancia. Tambin se le llama Clase Virtual. Concreta: es aquella clase que se puede instanciar. 7. Cmo se crean, inicializan y destruyen objetos en Java? Qu es el garbage
collector?

En java se crean objetos con new, y se inicializa en un constructor. El garbage collector es un recolector de basura que se encarga de gestionar los objetos que se dejan de usar y de eliminarles de memoria. Este proceso es automtico e impredecible y trabajo en un hilo (thread) de baja prioridad.
Revisar la inicializacin de objetos en java.

8. Qu es un iterador en java? Ejemplifique Iterator es una interfaz que define objetos que permiten recorrer los elementos de una coleccin. Los mtodos definidos por esta interfaz son:

9. En sus palabras, qu diferencia a un programa estructurado de un programa orientado a objetos? La Programacin Orientada a Objetos (POO): expresa un programa como un conjunto de objetos (combinan variables locales y mtodos), que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y mdulos ms fciles de escribir, mantener y reutilizar. Incluye herencia, abstraccin, polimorfismo, y encapsulamiento. Programacin estructurada: es una tcnica en la cual la estructura de un programa es la interpelacin de sus partes, se realiza tan claramente cmo sea posible mediante el uso de tres estructuras lgicas de control: Secuencia: una operacin tras de otra. Seleccin: bifurcacin condicional de una o ms operaciones. Interaccin: Repeticin de una operacin mientras se cumple una condicin. 10. Enumere al menos cuatro caractersticas que hacen a un buen diseo con objetos.

Uniformidad Comprensin Flexibilidad Estabilidad Reusabilidad

11. Qu funcin cumplen las colecciones? Son clases que permiten agrupar objetos, que son estructuras ms complejas que los arrays , ya que adems de poseer una interfaz para realizar todas las operaciones bsicas de agregacin y extraccin, poseen otras ms complejas (algoritmos), para realizar inserciones, borrados y bsqueda de objetos.

12. Cmo indicara en UML que por cada CuentaDeAhorro se conocen todos los movimientos efectuados? Cmo lo implementara en Java?

La clase CtaAhorro contiene un vector con todas las transacciones realizadas. La implementacin en Java se hara de la siguiente manera: Se creara 2 clases: CtaAhorro y Transaccin, constaran de atributos y mtodos diseados anteriormente. En la clase CtaAhorro se implementara un vector tipo Transaccin, en donde estar almacenado todos los movimientos realizados por una cuenta en especfico.

Das könnte Ihnen auch gefallen