/** * ------------------------------------------------------------------------- * Grupo M - MC726 * Componentes: * Fabio de Souza Azevedo RA:952215 * Fabio Dalla Vecchia RA:981091 * Mateus de Castro Polastro RA:981787 * Carlos T. Nakashima RA:980788 * Gabriel A. Araujo RA:983728 * ------------------------------------------------------------------------- */ package pckPlano; import pckMapa.Trecho; import pckPlano.Veiculo; import pckPlano.Plano; import pckPlano.Passo; import pckPlano.Rota; /** * ------------------------------------------------------------------------- * CLASSE: CalculadorImpl * * PROPOSITO: Implementar a classe abstrata Calculador. Permite o calculo * dos valores de custos (de uma rota isolada e de um plano de rotas), * tornando-os disponiveis para uso pelas demais classes do sistema. * * COMENTARIO: * 1) Erro corrigido: Passou a estender a classe abstrata "Calculador". * * ULTIMA ATUALIZACAO: Fabio de Souza Azevedo. * DATA: 25/06/2001 * ------------------------------------------------------------------------- */ public class CalculadorImpl extends Calculador { /** * CONSTRUTOR: CalculadorImpl * * COMENTARIO: Foi suprimido do codigo util da classe (bem como o * "destrutor", que gerava erro de compilacao). Nao havia sido * implementado e nao era necessario. * * ULTIMA ATUALIZACAO: Fabio de Souza Azevedo. * DATA: 24/06/2001 */ /** * METODO: calcularCustoRota * * ENTRADA: Objeto do tipo rota, que deve conter um conjunto de passos * atraves dos quais sera' possivel acessar os custos dos trechos * relacionados a eles. O objeto objRota possibilitara' tambem obter * o custo fixo do veiculo relacionado a ele. * * SAIDA: Custo calculado para a dada rota. * * COMENTARIO: * As classes de "Veiculo", "Rota" e "Trecho" deverao disponibilizar * as informacoes necessarias para a realizacao dos calculos. * Da classe "Veiculo", sera' necessario o custo fixo, assim como na * classe "Trecho". Ja' na classe Rota, devera' estar disponivel o * veiculo que esta' associado a ela. * * ULTIMA ATUALIZACAO: Fabio de Souza Azevedo. * DATA: 24/06/2001 * ACOES: * 1) Erro corrigido: O nome correto da classe que implementa um * passo e' "Passo" e nao "Passos", como estava antes. * 2) Erro corrigido: Nome do metodo alterado de * "calcularCustoRotaImpl" para "calcularCustoRota". * 3) Erro corrigido: Na chamada ao metodo "obterCustoVeiculo". * 4) Erro corrigido: Na chamada ao metodo "obterCustoTrecho". * DATA: 25/06/2001 * ACOES: * 1) Erro corrigido: Declaracao de vetPassos: alterado de * "Passo vetPassos[]" para "Passo[] vetPassos". * 2) Erro corrigido: length nao e' metodo, mas atributo. */ public double calcularCustoRota (Rota objRota) { int i; double custoVeiculo; double custoTrechos = 0; Passo[] vetPassos = objRota.passos (); custoVeiculo = obterCustoVeiculo (objRota.veiculo ()); for (i=0; i