Está en la página 1de 16

PROGRAMACION JAVA

LSI Oscar Omar Apolinario Arzube


TUT31: SOBRE CARGA DE METODOS
TUT31: SOBRE CARGA DE METODOS

Metodo 1
Clase A
Atributo 1

Atributo 2
Clase X Clase B

Metodo 2 Public static void main (String args[]) {


Clase D Clase E Clase C Clase C ejemplo = new Clase C()
ejemplos.metodo1()???
}
TUT31: SOBRE CARGA DE METODOS

ejemplos.metodo1();
Metodo 1
Clase A
Atributo 1

Clase C Clase B Clase A

Atributo 2
Clase B metodo1()?? metodo1()?? metodo1()??

NO NO SI

Public static void main (String args[]) { Metodo 2


Clase C ejemplo = new Clase C() Clase C
ejemplos.metodo1()???
}
TUT31: SOBRE CARGAR DE METODOS

ejemplos.metodo1();
Metodo 1
Clase A
Atributo 1

Clase C Clase B Clase A

Atributo 2
Clase B metodo1()??

SI

Public static void main (String args[]) { Metodo 2


Clase C ejemplo = new Clase C() Clase C
ejemplos.metodo1()??? Metodo 1
}
TUT31: SOBRE CARGAR DE METODOS

ejemplos.metodo1();
Int x Metodo 1
Punto

Clase C Clase B Clase A

Metodo 1
Int x, y Punto 2D metodo1()??

SI

Si estoy en Punto 3D, con super.metodo1()


Metodo 1
Int x, y, z Punto 3D acceso al metodo1 de la clase madre es decir
Punto 2D
TUT32: SOBRE CARGAR DE METODOS

ejemplos.metodo1();
Int x Metodo 1
Punto

Clase C Clase B Clase A

Metodo 1
Int x, y Punto 2D metodo1()??

SI

Si estoy en Punto 3D, con super.metodo1()


Metodo 1
Int x, y, z Punto 3D acceso al metodo1 de la clase madre es decir
Punto 2D
TUT32: SOBRE CARGA DE METODOS

/*http://apolinariooscar.blogspot.com/
/*http://apolinariooscar.blogspot.com/ *Oscar Tutorials 2014 Todos los Derechos Reservados.
*Oscar Tutorials 2014 Todos los Derechos Reservados. *Tut 32 - SobreCarga
*/ */
public class Punto1D { public class tut32 {

//Atributo public static void main(String[] args) {


int x;
Punto1D p1 = new Punto1D();
p1.x = 1;
//Metodo
void imprimir(){ Punto2D p2 = new Punto2D();
System.out.println(" ========== "); p2.x = 2;
System.out.println(" x : "+ x); p2.y = 4;
}
Punto3D p3 = new Punto3D();
} p3.x = 3;
p3.y = 5;
p3.z = 7;

p1.imprimir();
p2.imprimir();
p3.imprimir();

}
TUT32: SOBRE CARGA DE METODOS

/*http://apolinariooscar.blogspot.com/ /*http://apolinariooscar.blogspot.com/
*Oscar Tutorials 2014 Todos los Derechos Reservados. *Oscar Tutorials 2014 Todos los Derechos Reservados.
*/ *Tut 32 - SobreCarga
public class Punto2D extends Punto1D { */
public class tut32 {
//Atributo
int y; public static void main(String[] args) {

//Sobrecargar el metodo Punto1D p1 = new Punto1D();


void imprimir(){ p1.x = 1;
super.imprimir();
Punto2D p2 = new Punto2D();
System.out.println(" y : "+ y); p2.x = 2;
} p2.y = 4;

} Punto3D p3 = new Punto3D();


p3.x = 3;
p3.y = 5;
p3.z = 7;

p1.imprimir();
p2.imprimir();
p3.imprimir();

}
TUT32: SOBRE CARGAR DE METODOS

/*http://apolinariooscar.blogspot.com/ /*http://apolinariooscar.blogspot.com/
*Oscar Tutorials 2014 Todos los Derechos Reservados. *Oscar Tutorials 2014 Todos los Derechos Reservados.
*/ *Tut 32 - SobreCarga
public class Punto3D extends Punto2D { */
public class tut32 {
//Atributo
int z; public static void main(String[] args) {

Punto1D p1 = new Punto1D();


//Sobrecargar el metodo p1.x = 1;
void imprimir(){
super.imprimir(); Punto2D p2 = new Punto2D();
System.out.println(" z : "+ z); p2.x = 2;
} p2.y = 4;

} Punto3D p3 = new Punto3D();


p3.x = 3;
p3.y = 5;
p3.z = 7;

p1.imprimir();
p2.imprimir();
p3.imprimir();

}
TUT33: SOBRE CARGA DE CONSTRUCTORES
TUT33: SOBRE CARGA DE CONSTRUCTORES

ClaseA() // Constructor
Clase A
Metodo 1
Atributo 1

Clase B() //Constructor


Clase B Metodo 1() //Sobrecarga
Atributo 2
Atributo 3

• Para sobrecargar un metodo, definimos el mismo nuevamente en un clase derivada.


• Para accede al metodo de la clase madre usamos la plabra clve super. Ejem: super.metodo1()
• Un constructor nose puede sobrecargar tecnicamente, porque su nombre es distincto para cada clase. Ejmplo
ClaseA(){} y ClaseB(){}
• Entonces llamamos al constructor de la clase madre y luego modificamos lo que queremos Ejemp: ClaseB{
• Super(); //llama al constructor de la clase madre
• Atributo2=3; etc etc}
TUT33: SOBRE CARGA DE CONSTRUCTORES

Int x, y;
Punto2D Punto2D(inst pasx, int pasy) {..}
Void imprimir(){..}

Int z;
Punto3D Punto3D(inst pasx, int pasy, int pasz) {..}
Void imprimir(){..}

• Debemos sobreecribir el constructor y el metodo imprimir


TUT33: SOBRE CARGA DE CONSTRUCTORES

/*http://apolinariooscar.blogspot.com/ /*http://apolinariooscar.blogspot.com/
*Oscar Tutorials 2014 Todos los Derechos Reservados. *Oscar Tutorials 2014 Todos los Derechos Reservados.
*/ *Tut 33 - Sobrecarga de cosntructores
public class Punto33_1D { */

//Atributo public class tut33 {


int x;
public static void main(String[] args) {
Punto33_1D (int pasx) {
x=pasx; Punto33_1D p1= new Punto33_1D(3);
} p1.imprimir();
Punto33_2D p2= new Punto33_2D(2,5);
//Metodo p2.imprimir();
void imprimir(){ Punto33_3D p3= new Punto33_3D(1,5,7);
System.out.println(" ========== "); p3.imprimir();
System.out.println(" x : "+ x);
}
}
}
}
TUT33: SOBRE CARGA DE CONSTRUCTORES

/*http://apolinariooscar.blogspot.com/ /*http://apolinariooscar.blogspot.com/
*Oscar Tutorials 2014 Todos los Derechos Reservados. *Oscar Tutorials 2014 Todos los Derechos Reservados.
*/ *Tut 33 - Sobrecarga de cosntructores
public class Punto33_2D extends Punto33_1D { */

//Atributo public class tut33 {


int y;
public static void main(String[] args) {
Punto33_2D (int passx, int passy){
super(passx); Punto33_1D p1= new Punto33_1D(3);
y = passy; p1.imprimir();
} Punto33_2D p2= new Punto33_2D(2,5);
p2.imprimir();
//Sobrecargar el metodo Punto33_3D p3= new Punto33_3D(1,5,7);
void imprimir(){ p3.imprimir();
super.imprimir();

System.out.println(" y : "+ y); }


}
}
}
TUT33: SOBRE CARGA DE CONSTRUCTORES

/*http://apolinariooscar.blogspot.com/
/*http://apolinariooscar.blogspot.com/ *Oscar Tutorials 2014 Todos los Derechos Reservados.
*Oscar Tutorials 2014 Todos los Derechos Reservados. *Tut 33 - Sobrecarga de cosntructores
*/ */
public class Punto33_3D extends Punto33_2D {
public class tut33 {
//Atributo
int z; public static void main(String[] args) {
Punto33_3D (int passx, int passy, int passz){
super(passx, passy); Punto33_1D p1= new Punto33_1D(3);
z= passz; p1.imprimir();
} Punto33_2D p2= new Punto33_2D(2,5);
p2.imprimir();
//Sobrecargar el metodo Punto33_3D p3= new Punto33_3D(1,5,7);
void imprimir(){ p3.imprimir();
super.imprimir();
System.out.println(" z : "+ z);
} }

} }

También podría gustarte