Hola,
una pregunta mas.
En las clases LlamadaProvincial y LlamadaLocal tengo el metodo:
public double calcularPrecio()
{
}
Como puedo hacer para enviar el arreglo a ese metodo, en ambas clases, determinar si la llamada es Provincial o Local para hacer el calculo del costo de la llamada, cada clase tiene su precio.
Ejemplo:
Main
public class Main {
public static void main(String[] args) {
Centralita callcenter = new Centralita();
LlamadaProvincial llamadaEntranteProvincial1 = new LlamadaProvincial ("8299333777", "8095551111", 43, 1);
callcenter.registrarLlamada(llamadaEntranteProvincial1);
LlamadaLocal llamadaEntranteLocal1 = new LlamadaLocal ("8299333777", "8093330000", 13);
callcenter.registrarLlamada(llamadaEntranteLocal1);
}
}
Como envio eso a los metodos, juntos o separados para hacer el calculo.
Estoy perdido, manejarse entre clases es un poco problemático al inicio del aprendizaje.
Te muestro el codigo que tengo hasta ahora.Main:
import java.util.ArrayList;
public class Centralita {
private ArrayList<Llamada> llamadasProvinciales = new ArrayList<Llamada>();
private ArrayList<Llamada> llamadasLocales = new ArrayList<Llamada>();
private int cont; // TotalLlamadas
private int acum; // TotalFacturado
public int getTotalLlamadas()
{
return cont;
}
public double getTotalFacturado()
{
return acum;
}
public void registrarLlamada(LlamadaProvincial llamadaEntranteProvincial)
{
cont++;
llamadasProvinciales.add(llamadaEntranteProvincial);
}
public void registrarLlamada(LlamadaLocal llamadaEntranteLocal)
{
cont++;
llamadasLocales.add(llamadaEntranteLocal);
}
}
Centralita
import java.util.ArrayList;
public class Centralita {
private ArrayList<Llamada> llamadasProvinciales = new ArrayList<Llamada>();
private ArrayList<Llamada> llamadasLocales = new ArrayList<Llamada>();
private int cont; // TotalLlamadas
private int acum; // TotalFacturado
public int getTotalLlamadas()
{
return cont;
}
public double getTotalFacturado()
{
return acum;
}
public void registrarLlamada(LlamadaProvincial llamadaEntranteProvincial)
{
cont++;
llamadasProvinciales.add(llamadaEntranteProvincial);
}
public void registrarLlamada(LlamadaLocal llamadaEntranteLocal)
{
cont++;
llamadasLocales.add(llamadaEntranteLocal);
}
}
LlamadaLocal
public class LlamadaLocal extends Llamada {
private final double precio = 0.15;
public LlamadaLocal(String numOrigen, String numDestino, int duracion) {
super(numOrigen, numDestino, duracion);
}
public double calcularPrecio()
{
}
public String toString()
{
}
}
LlamadaProvincial
public class LlamadaProvincial extends Llamada {
private final double precio1 = 0.20;
private final double precio2 = 0.25;
private final double precio3 = 0.30;
private int franja;
public LlamadaProvincial(String numOrigen, String numDestino, int duracion, int franja) {
super(numOrigen, numDestino, duracion);
this.franja = franja;
}
public int getFranja() {
return franja;
}
public void setFranja(int franja) {
this.franja = franja;
}
public double calcularPrecio()
{
}
public String toString()
{
}
}
Llamada
public class Llamada {
private String numOrigen;
private String numDestino;
private int duracion;
public Llamada(String numOrigen, String numDestino, int duracion) {
super();
this.numOrigen = numOrigen;
this.numDestino = numDestino;
this.duracion = duracion;
}
public String getNumOrigen() {
return numOrigen;
}
public String getNumDestino() {
return numDestino;
}
public int getDuracion() {
return duracion;
}
}
Me siento perdido, espero puedas ayudarme y no sea mucha molestia. Estoy aprendiendo. Todo es mas facil en C o C++
, esto de clases me parte el caco...