Está en la página 1de 4

LABORATORIO DE INF-121

TEMA 2. POLIMORFISMO

SOBREGARGA DE METODOS

 Es un método realiza varias tareas, para lo cual se implementa varios métodos


con el mismo nombre diferenciándose en su parámetros de entrada y/o salida.
 En una clase puede sobrecargarse los métodos que se requiera, y la sobrecarga
de un método puede realizarse las veces que sea necesario.

Nombre
Atributos
//Métodos

metodoX()
metodoX(int a)
metodoX(string a)
metodoX(int a, string b)

Implementación en Java y C#
JAVA C#
public class Nombre public class Nombre
{ {
private tipo atributo1; private tipo atributo1;
private tipo atributo2,atributo3; private tipo atributo2,atributo3;
……. …….

// METODOS // METODOS
…….. ………
public tipo MetodoX( tipo p1) public tipo MetodoX( tipo p1)
{ {
//Sentencias tarea 1 //Sentencias tarea 1
} }
public tipo MetodoX() public tipo MetodoX()
{ {
//Sentencias tarea 2 //Sentencias tarea 2
} }
public tipo MetodoX(tipo p1, tipo p2) public tipo MetodoX(tipo p1, tipo p2)
{ {
//Sentencias tarea 3 //Sentencias tarea 3
} }
//SOBRECARGA DE OTROS METODOS //SOBRECARGA DE OTROS METODOS
} }
EJEMPLO 1

Sea la clase Grupo de Niños que almacena nombre y apellido en una matriz y edad en
un vector.

LABORATORIO DE INF-121 LIC. CARMEN ROSA HUANCA QUISBERT


LABORATORIO DE INF-121

Grupo N
n
nom[3,50]
e[50]
//Métodos
mostrar() //muestra datos
mostrar(i) //muestra i-esimo dato
mostrar(x) //muestra datos del niño X

JAVA C#
public class GrupoN { class GrupoN
private int n; {
private String nom[][]=new String[3][50]; private int n;
private int e[]=new int[50]; private string [,]nom=new string[3,50];
private int []e=new int[50];
//METODOS
public GrupoN() // METODOS
{ public GrupoN()
n=5; {
nom[1][1]=”Ana”; nom[2][1]=”Diaz”; e[1]=4; n=5;
nom[1][2]=”Luis”; nom[2][2]=”Roca”; e[2]=7; nom[1,1]=”Ana”; nom[2,1]=”Diaz”; e[1]=4;
nom[1][3]=”Rocio”; nom[2][3]=”Lima”; e[3]=3; nom[1,2]=”Luis”; nom[2,2]=”Roca”; e[2]=7;
nom[1][4]=”Maura”; nom[2][4]=”Nina”; e[4]=5; nom[1,3]=”Rocio”; nom[2,3]=”Lima”; e[3]=3;
nom[1][5]=”Sandy”; nom[2][5]=”Arias”; e[5]=4; nom[1,4]=”Maura”; nom[2,4]=”Nina”; e[4]=5;
} nom[1,5]=”Sandy”; nom[2,5]=”Arias”; e[5]=4;
//METODO MOSTRAR SOBRECARGADO }
// METODO MOSTRAR SOBRECARGADO
public void mostrar(int i)
{ public void mostrar()
if(i<=n) {
System.out.println(nom[1][i]+" "+nom[2][i]+" "+e[i]); int i;
}
public void mostrar(String x) for(i=1;i<=n;i++)
{ {
int i; Console.Write(nom[1,i]+" ");
for(i=1;i<=n;i++) Console.Write(nom[2,i]+" ");
if(nom[1][i].equals(x)) Console.WriteLine(e[i]+" ");
System.out.println(nom[1][i]+" "+nom[2][i]+" "+e[i]); }
} }
public void mostrar() public void mostrar(int i)
{ {
int i; if(i<=n)
for(i=1;i<=n;i++) Console.WriteLine(nom[1,i]+""+nom[2,i]+""+e[i]);
System.out.println(nom[1][i]+" "+nom[2][i]+" "+e[i]);
} }
public void mostrar(string x)
{
} int i;
for(i=1;i<=n;i++)
if(nom[1,i]==x)
Console.WriteLine(nom[1,i]+""+nom[2,i]+" "+e[i]);

EJEMPLO 2
Sea la Clase calzado
Calzado
Numero
marca
material
color
leer() //leer datos
LABORATORIO DE INF-121 LIC. CARMEN ROSA HUANCA QUISBERT
LABORATORIO DE INF-121

leer(i) //leer el i-esimo atributo


mostrar() //mostrar datos
mostrar(i) //mostrar el i-esimo atributo
verificar(m) //verifica marca
verificar(n) //verifica numero

JAVA C#
public class Calzado { class GrupoN
private int numero; {
private String marca,material,color; private int numero;
private string marca,material,color;
//METODOS
//……… // METODOS
//METODO MOSTRAR SOBRECARDO // ………….
public void leer() // METODO MOSTRAR SOBRECARGADO
{ public void leer()
numero=Leer.datoInt(); {
marca=Leer.dato(); numero=int.Parse(Console.ReadLine());
material=Leer.dato(); marca=Console.ReadLine();
color=Leer.dato(); material= Console.ReadLine();
} color= Console.ReadLine();
public void leer(int i) }
{ public void leer(int i)
if(i==1) numero=Leer.datoInt(); {
if(i==2) marca=Leer.dato(); if(i==1) numero=int.Parse(Console.ReadLine());
if(i==3) material=Leer.dato(); if(i==2) marca=Console.ReadLine();
if(i==4) color=Leer.dato(); if(i==3) material= Console.ReadLine();
} if(i==4) color= Console.ReadLine();
public void mostrar() }
{ public void mostrar()
{
System.out.println(numero+" "+marca+" "+material+" Console.WriteLine(numero);
"+color); Console.WriteLine(marca);
} Console.WriteLine(material);
public void mostrar(int i) Console.WriteLine(color);
{ }
if(i==1) System.out.println(numero); public void mostrar(int i)
if(i==2) System.out.println(marca); {
if(i==3) System.out.println(material); if(i==1)Console.WriteLine(numero);
if(i==4) System.out.println(color); if(i==2)Console.WriteLine(marca);
} if(i==3)Console.WriteLine(material);
public void verificar(String m) if(i==4)Console.WriteLine(color);
{ }
if(marca.equals(m) public void verificar(String m)
System.out.println(“igual marca”); {
else if(marca==m)
System.out.println(“marca diferente”); Console.WriteLine("igual marca");
else
} Console.WriteLine("marca diferente");
public boolean verificar(int n) }
{ public Boolean verificar(int n)
if(numero==n) return true; {
return false; if(numero==m) return true;
} return false;
} }
}

Trabajo Sobrecarga de Métodos.

a) Implementar el EJEMPLO 1, la clase GrupoN y ejecutar cada de los métodos en el


programa principal en JAVA.

LABORATORIO DE INF-121 LIC. CARMEN ROSA HUANCA QUISBERT


LABORATORIO DE INF-121

b) Implementar el EJEMPLO 2, la clase Calzado y ejecutar cada de los métodos en el


programa principal en C#.
c) Implementar la clase Unidad de Almacenamiento, que representa a unidades
como es la unidad C:\ o D:\ o E:\ etc
Unidad Sobrecargar los siguientes métodos:
id
nombre 1. Dos constructores con argumentos
nroArchivos 2. Mostrar los datos y mostrar los archivos tipo X
nom[100] 3. Buscar el archivo con nombre X y buscar los
tipo[100] archivos tamaño X
tam[100] 4. Agregar un nuevo archivo, agregar k nuevos
archivos

Formato de entrega:

De cada uno de los incisos entregar el código de la clase, el


programa principal y la captura de la pantalla de ejecución en un
documento.

LABORATORIO DE INF-121 LIC. CARMEN ROSA HUANCA QUISBERT

También podría gustarte