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
Moduloque soluciona el último ejercicio, crea el constructor de la clase en el que se inicializarán los atributosnotaynombrecon 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

