Академический Документы
Профессиональный Документы
Культура Документы
constructor o mtodo est sobrecargado. La sobrecarga de constructores o mtodos permite llevar a cabo una tarea de distintas maneras (por ejemplo crear un objeto Persona con un nombre ya establecido o crearlo sin nombre establecido)
EJEMPLO
//Ejemplo de clase con dos constructores y un mtodo public class Persona { private String nombre; private int edad; public Persona (String nombrePersona) { //CONSTRUCTOR 1 nombre = nombrePersona; edad = 0; } public Persona () { //CONSTRUCTOR2 nombre = ""; edad = 0; } public String getNombre () { return nombre; } //Cierre del mtodo } //Cierre de la clase
SUPER
Cuando el constructor de la subclase invoca al constructor de la superclase. Por lo tanto la palabra clave super como primera lnea del constructor de la subclase., La palabra super ir seguida de parntesis dentro de los cuales pondremos los parmetros que requiera el constructor de la superclase al que queramos invocar.
EN POCAS PALABRAS
A modo de resumen: la inicializacin de un objeto de una subclase comprende dos pasos. La invocacin al
constructor de la superclase (primera lnea del constructor: super) y el resto de instrucciones propias del constructor de la subclase.
EN LA SUBCLASE:
public Profesor () { super(); IdProfesor = "Unknown"; }
profesor (String nombre, String apellidos, int edad) { super(nombre, apellidos, edad); IdProfesor = "Unknown"; }
PALABRA CLAVE SUPER PARA INVOCAR MTODOS DE SUPERCLASES DESDE SUBCLASES EN JAVA
Sintaxis:
FechaComienzoInterinidad.getTime().toString() );
}
QU HEMOS HECHO?
Dentro del mtodo hijo hemos incluido una llamada al mtodo padre que haba perdido visibilidad debido a que lo habamos sobreescrito. Resultado: Se procede a mostrar los datos de los profesores existentes en el CUALTOS Datos Profesor. Profesor de nombre: Juan Hernndez Garca con Id de profesor: Prof 22-387-11 Datos Profesor. Profesor de nombre: Jos Luis Morales Prez con Id de profesor: Unknown Comienzo interinidad: Fri Nov 22 12:40:38 CET 2019
EN RESUMEN
Gracias a la instruccin super.mostrarDatos() hemos
incluido dentro de un mtodo sobreescrito el mtodo deseado de la superclase. La llamada a super dentro de un
EJEMPLO ANTRIOR
Dadas las siguientes clases: class A { int at1=-1, at2=-1; A(int i, int j) { at1=i; at2=j; } A(int i) { this(i,0); } A() { this(0); } public String toString() { return "at1=" + at1 + " at2="+at2; } } class B extends A { int at3=-1; B(int i, int j, int k) { super(i,j); at3=k; } B(int i) { at3=i; } public String toString() { return super.toString() + " at3=" + at3; } } class C extends B { int at4=-1; C(int i, int j, int r, int s) { super(i,j,r); at4=s; } C(int i, int j, int k) { at4=0; } public String toString() { return super.toString() + " at4=" + at4; } }
RESPUESTA
Indicar la salida por pantalla que generara cada una de las siguientes sentencias o, en caso de que alguna de ellas no sea correcta, explicar el error.