Programming

T05-001-04 Métodos constructores.

Enunciado

En Java, un constructor es un método especial que se utiliza para inicializar objetos. Cuando se instancia un objeto de una clase, a través del comando new, se invoca al constructor de dicha clase, el cual puede ser usado para inicializar los atributos de dicha clase.

El método constructor tendrá el mismo nombre que la clase y no tiene ningún tipo de retorno.

Ejemplo:

public class OOP {

    public static void main(String[] args) {
        SubClase miObj = new SubClase();
        System.out.println(miObj.suma());
    }

}

class SubClase {

    int x, y;

    public SubClase() {
        x = 5;
        y = 7;
    }

    public int suma() {
        return x + y;
    }
}

Podemos observar que el resultado de la suma es el obtenido de sumar los valores que se inicializan en el método constructor.

Ejercicio

Partiendo de la clase Modulo que soluciona el último ejercicio, crea el constructor de la clase en el que se inicializarán los atributos nota y nombre con los valores 8 y "Programacion" respectivamente.

Solución


											
package oop; import java.util.Scanner; public class OOP { static Scanner sc = new Scanner(System.in); public static void main(String[] args) { Modulo miModulo = new Modulo(); do { System.out.println("Escriba la nota del modulo: "); miModulo.nota = sc.nextInt(); } while (miModulo.nota > Modulo.calificacionMaxima()); System.out.println("Nombre del modulo: " + miModulo.nombre); System.out.println("Nota: " + miModulo.nota); System.out.println("Calificacion textual: " + miModulo.calificacion()); } } class Modulo { int nota; String nombre; public Modulo() { nota = 8; nombre = "Programacion"; } public String calificacion() { String laCalificacionTextual; switch (nota) { case 0: case 1: laCalificacionTextual = "Muy deficiente"; break; case 2: case 3: case 4: laCalificacionTextual = "Insuficiente"; break; case 5: laCalificacionTextual = "Suficiente"; break; case 6: laCalificacionTextual = "Bien"; break; case 7: case 8: laCalificacionTextual = "Notable"; break; case 9: case 10: laCalificacionTextual = "Sobresaliente"; break; default: laCalificacionTextual = "Fuera de rango"; } return laCalificacionTextual; } static int calificacionMaxima() { return 10; } }

Input

13 12 7
11 15 21 9

Output

Escriba la nota del modulo: Escriba la nota del modulo: Escriba la nota del modulo: Nombre del modulo: Programacion Nota: 7 Calificacion textual: Notable
Escriba la nota del modulo: Escriba la nota del modulo: Escriba la nota del modulo: Escriba la nota del modulo: Nombre del modulo: Programacion Nota: 9 Calificacion textual: Sobresaliente