Tengo que hacer un Control de Llamadas. Las llamadas provinciales tienen un costo dependiendo de la franja horaria donde se realicen (1, 2 ó 3).
Entonces tengo que hacer un método CalcularPrecio() en él que fácilmente pondría un estructura if.
Código:
If(franjaHoraria == 1){
...
}
else if (franjaHoraria == 2){
....
}
etc.
...
}
else if (franjaHoraria == 2){
....
}
etc.
El problema viene al hacerlo con métodos sobre-cargados, tengo la idea, pero no sé si es la forma correcta.
Una forma sería (que no se hace xD) sería si se pudiera evaluar un parámetro de un método. Quería así.
Código
public double CalcularPrecio(double duracion, int franjaHoraria==1){ this.duracion = duracion; this.franjaHoraria = franjaHoraria; precio = Valor_llamada_franja1 * duracion; }
Pero me da error.
La otra que se me ocurre es poner el if dentro del método, pero no estoy seguro si esta es la forma correcta de implentar el polimorfismo.
Así:
Código
public double CalcularPrecio(double duracion, int franjaHoraria){ this.franjaHoraria = franjaHoraria; this.duracion = duracion; if(franjaHoraria == 1){ //calcular el precio para franaja horaria es 1 } } public double CalcularPrecio(double duracion, int franjaHoraria){ this.franjaHoraria = franjaHoraria; this.duracion = duracion; if(franjaHoraria == 2){ //calcular el precio para franaja horaria es 2 } } etc...
Pero el problema es que cuando llame al método todos se van a ejecutar, porque todos tienen los mismo parámetros.