Java-POO-3-SobrecragaConstructores
Enviado por Ramiro Soto Ramirez • 31 de Mayo de 2017 • Apuntes • 560 Palabras (3 Páginas) • 185 Visitas
Sobrecarga de constructores
❖ Una clase puede tener más de un constructor. ❖ Los constructores se diferencian por cantidad, tipo y orden
de parámetros.
POO en Java III: sobrecarga de
E&emplo: constructores distintos de la clase Observación
constructores y métodos
public Observación(){... public Observación(int a){... Franco Guidi Polanco Escuela de Ingeniería Industrial
❖ Esto permite instanciar ob&etos considerando distintos tipos
de datos disponibles.
public Observación(int a, double b){... public Observación(double a, int b){...
Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl
Franco Guidi Polanco 2
Sobrecarga de constructores (cont.)
public class alor {
private int x; private int y;
public alor(){
x = 0; y = 0; } public alor(int a, int b){
x = a; y = b; } ... }
Franco Guidi Polanco 3
Sobrecarga de constructores (cont.)
public class alor {
private int x; private int y;
public alor(){
x = 0; y = 0; } public alor(int a, int b){
x = a; y = b; } ... }
Clase Valor
public class Ejemplo {
Constructor
public static void main...
sin
Valor ob1, ob2; parámetros
ob1 = new alor( 3, 5 ); ob2 = new alor();
//Las siguientes fallan: Valor ob3, ob4; ob3 = new alor( 2 ); ob4 = new alor( 2.0, 3.0); ... Constructor con dos parámetros
} }
No existe el constructor de dos parámetros double enteros
No existe el constructor de un parámetro int Aplicación Franco Guidi Polanco 4
Sobrecarga de métodos
Sobrecarga de métodos
❖ Una clase puede tener más de un método con el mismo nombre. ❖ Los métodos se diferencian por nombre del método, y cantidad, tipo
❖ IMPOR,3N,E: el tipo de valor retornado no forma parte de la
-firma del método״ (no es utilizado para distinguir entre métodos).
y orden de sus parámetros. ,odo esto constituye la -firma del método״ (method signature).
E&emplo: métodos distintos de una clase
public double sumaTiempo(int a){...
public double sumaTiempo(){... public double sumaTiempo(int a){...
public float sumaTiempo(int b){... public int sumaTiempo(int a){... public double sumaTiempo(double a){... public double sumaTiempo(int a, double b){... public double sumaTiempo(double a, int b){...
Java no distingue entre ellos: genera un error de compilación.
Franco Guidi Polanco 5
Franco Guidi Polanco 6
Sobrecarga de métodos (cont.)
public class Persona {
private String nombre; private int edad;
public void setEdad(int x){
edad = x; } public void setEdad(double x){
edad = (int) x; } ... }
Franco Guidi Polanco 7
Sobrecarga de métodos (cont.)
public class Persona {
private String nombre; private int edad;
public void setEdad(int x){
edad = x; }
public void setEdad(double x){
edad = (int) x; } ... }
public class Ejemplo { Método setEdad( int )
...