Módulo 5: Clases y Objetos

    Autoevaluación

Pregunta 1


Supón que tienes declarada la clase Carro ¿cuál de las siguientes opciones crea un objeto de la clase Carro?

a. new Carro ();

b. Create a, Carro();

c. Carro a;

d.Carro;

Respuesta correcta: a

Retroalimentación: Para crear una instancia de una clase se debe utilizar el new.

Pregunta 2

Supón que tienes la siguiente declaración:


public
class Fecha
{
    private int dia;

    private int mes;

    private int anio;

    public Fecha() { }

    public void cambiarTodo(int d, int m, int a) {    }

    public void mostrar(TextField t) {    }
}

Donde imagina que haya instrucciones en los métodos y supón que tienes un objeto de la clase Fecha llamado a.

¿Cuál es la forma correcta de pedir al objeto
a
que utilice el método Mostrar?

a.
a
.Mostrar( );

b. mostrar(a);

c. a = mostrar( );

d. a = mostrar(x);

Respuesta correcta: a

Retroalimentación: La forma de llamar un método de una clase es NombreObjeto.NombreMetodo(parámetros); por otro lado se debe observar que el método mostrar es void y no recibe parámetros, por lo que la forma correcta de llamarlo es la que se muestra en el inciso a.

Pregunta 3

Supón que tienes la siguiente declaración:

public class Fecha
{
    private int dia;

    private int mes;

    private int anio;

    public Fecha() { }

    public void cambiarTodo(int d, int m, int a) {    }

    public void mostrar(TextField t) {    }
}


Donde imagina que haya instrucciones en los métodos
y supón que necesitas agregar a la clase un método que reciba como parámetro una cantidad de días y almacene en el objeto la fecha resultante de sumar esa cantidad de días a la fecha existente en el objeto. ¿Cuál es el encabezado correcto de la función que agregarías a la clase?

a. public void sumaDias( )

b. public int sumaDias( int dias);

c. public void sumaDias (int dias);

d. public int sumaDias( )
 

Respuesta correcta: c

Retroalimentación: En la descripción del método necesario dice que se requiere que reciba como parámetro la cantidad de días, por otro lado, el método solo modificará alguno de los valores de las variables de la clase, por lo que no se requiere regresar ningún valor.

Pregunta 4

Supón que tienes la siguientes declaraciones:


public
class Cuadrado
{
    private double lado;

    public Cuadrado()   {  }

    public Cuadrado(double lado) {    }

    public double calcArea(){    }

    public double calcPer() {    }

}

Donde imagina que haya instrucciones en los métodos, ¿Cuál de las siguientes líneas no genera un error de compilación al utilizar la clase desde una aplicación?

a. Cuadrado a = new Cuadrado(10,15);

b. double x = Cuadrado.calcArea(10);

c. Cuadrado a = new Cuadrado();
    a. calcPer();

d. Cuadrado a = new Cuadrado(10.5);
    double x = a. calcPer();

Respuesta correcta: d

Retroalimentación: El inciso a está equivocado porque no hay un constructor con 2 parámetros, el inciso b está equivocado porque el método calcArea no tiene parámetros, el inciso c está equivocado porque el método calcPer regresa un valor y no se está recibiendo y el inciso d es correcto porque se crea el objeto de manera correcta, el método calcPer no requiere parámetros y regresa un valor de tipo double.

Pregunta 5

Supón que tienes la siguientes declaraciones:

public class Cuadrado
{
    private double lado;

    public Cuadrado()   {  }

    public Cuadrado(double lado) {    }

    public double calcArea(){    }

    public double calcPer() {    }

}

Y supon que en alguna aplicación tienes las instrucciones:

      Cuadrado a , b, c;

      a = new Cuadrado();

      b = new Cuadrado(10);

      c = new Cuadrado();

¿cuál de las siguientes opciones representa un objeto de la clase Cuadrado?

a. Cuadrado()

b. calcArea()

c. lado

d. c

Respuesta correcta: d

Retroalimentación: El objeto c, ya que Cuadrado() es el constructor y debe usarse new para que represente uno nuevo, calcArea es un método y lado es la variable de instancia.

 

Pregunta 6.

Utilizar la palabra super nos ayuda en una clase a:

    I. Poder llamar el constructor de la clase padre.

   II. Poder llamar un método de la clase padre.

a. Solo el I

b. Solo el II

c. EL I y el II.

d. Ninguno de los dos

Respuesta correcta:  c

Retroalimentación:  Con super podemos llamar al constructor padre usando super() o super(parametros) y son super.método() podemos utilizar el método de la clase padre.