FICHIER telephonie/Operateur.java;
_______
package telephonie;
import telephonie.util.Date;
public interface Operateur {
public Connexion seConnecter(Date debut, ModeDePaiement m) throws OperateurSatureException, ModeDePaiementInvalideException;
public void seDeconnecter(Connexion c, Date fin) throws PasDeConnexionException;
public int getDureeComptabilisee(C
onnexion c);
public int getTarifUnitaire(Connexion c);
}
________
FICHIER CarteBancaire.java
___
package telephonie;
import telephonie.util.Date;
public class OperateurTarifFixe implements Operateur{
private int connexionsMaxi;
public OperateurTarifFixe(int connexionsMax){
connexionsMaxi=connexionsMax;
}
public int getDureeComptabilisee(Connexion c){
int duree=c.dureeConnexion();
if (duree>5) duree=5/6*duree;
return duree;
}
public int getTarifUnitaire(Connexion c){
return 0.30;
}
public Connexion seConnecter(Date debut, modeDePaiement m) throws OperateurSature, ModeDePaiementInvalide {
Connexion c=new Connexion(this, debut, m);
return c;
}
}