Solucion review questions capitulo 11 libro introduction to java programming de Daniel Liang
mazf88Trabajo20 de Marzo de 2016
788 Palabras (4 Páginas)551 Visitas
Miguel Angel Zapata Fraile Código : 1320013231
Chapter 11 Inheritance and Polymorphism (HERENCIA Y POLIMORFISMO)
11.1 ¿Cuál es la impresión de la ejecución de la clase C en (a)? Qué problema se presenta en la compilación del programa en (b)?
[pic 1]
Respuesta :
- La impresión es A’s no-arg constructor is invoked.
- El constructor predeterminado de B intenta invocar el valor por defecto del constructor de la clase A, pero no está definido el constructor por defecto de la clase A.
11.2 ¿Verdadero o falso?
a) Una subclase es un subconjunto de una superclase. (Falso)
b) Cuando se invoca un constructor de una subclase, el constructor de la superclase sin argumentos siempre se invoca. (Falso)
c) Se puede reemplazar un método privado definido en una superclase. (Falso)
d) Se puede reemplazar un método estático definido en una superclase. (Falso)
11.3 Identificar los problemas en las siguientes clases:
[pic 2]
[pic 3]
Respuesta : Las siguientes líneas están mal;
{
radius = radius; // Se debe usar this.radius = radius
}
class B extends Circle (sobra el extends)
{
Circle(radius); // Se debe usar super (radius)
length = length; // Se debe usar this.length = length
}
public double getArea()
{
return getArea()*length; // Se debe usar super.getArea()
}
11.4 ¿Cómo invocar explícitamente el constructor de una superclase desde una subclase?
Respuesta: Usando super(), o super(Argumentos), Esta declaración debe ser la primera en el constructor de la subclase.
11.5 ¿Cómo se puede invocar un método de la superclase reemplazado desde una subclase?
Respuesta: Usando super.method() o super.method(args).
11.6 Explicar la diferencia entre sobrecargar métodos y reescribir métodos.
Respuesta: Sobrecarga de método define los métodos del mismo nombre en una clase. Reemplazar el método modifica los métodos que se definen en las superclases.
11.7 Si un método en una subclase tiene la misma firma que un método de su superclase con el mismo tipo de retorno, es el método reemplazado o sobrecargado ?
Respuesta: El método es reemplazado.
11.8 Si un método en una subclase tiene la misma firma que un método de su superclase con un tipo diferente de retorno, esto será un problema?
Respuesta: Si habrá un error de sintaxis.
11.9 Si un método en una subclase tiene el mismo nombre que un método de su superclase con diferentes tipos de parámetros, es el método reemplazado o sobrecargado?
Respuesta: Se sobrecarga el método.
11.11 Mostrar la salida del siguiente programa:
[pic 4]
¿Es el constructor sin argumentos del objeto invocado cuando se llama a new A(3)?
Respuesta: B’s constructor is invoked
A’s constructor is invoked
El constructor por defecto del objeto se invoca, cuando new A (3) se invoca. Constructor del objeto se invoca antes de que se ejecuten las declaraciones en el constructor de B.
11.15 Al reescribir el método equals, un error común es escribir su firma en la subclase. Por ejemplo, el método equals está incorrectamente escrito como equals(Circle circle), como se muestra en (a) en el código de abajo; por el contrario, debe ser equals (Object circle), como se muestra en (b). Mostrar la salida de la clase en curso Prueba con la clase del círculo en (a) y en (b), respectivamente.
...