Gestion compte bancaire

Fermé
fatou - 28 nov. 2011 à 19:57
Bonjour, j aimerai enfin terminé ce projet « GESTION COMPTE BANCAIRE » qui m a beaucoup sembler assez difficile et j'étais coincé sur certaines points, j avoue je suis pas compétente pour réaliser toute seule mais quand même j'essayé a avancé.
O fait si quelqu'un pourrai m'aidé voici le travail qu'on m a demandé de faire:
Créez les types de comptes bancaires suivants :
* Account. Compte bancaire basique. Rend les services suivants :
String accountNumber(), float balance(), float deposit(float), float withdraw(float), String toString().
* ForeignCurrencyAccount. Compte bancaire en devise étrangère. Rend les services suivants : String accountNumber(), float balance(), float balanceForeignCurrency(), float deposit(float), float depositForeignCurrency(float), float getExchangeRate(), void setExchangeRate(float), float withdraw(float), float withdrawForeignCurrency(float), String toString().
* LimitedAccount. Compte bancaire avec découvert maximal autorisé. Rend les services
suivants : String accountNumber(), float balance(), float deposit(float), float getMaxCredit(), float withdraw(float), String toString().
Créez le type Personne. Rend les services suivants : int getAge(), String getName(),
String toString().
Une Personne et un ensemble d'Account sont liés dans une PersonneAccountTuple. Rend les services void addAccount(Account), boolean deleteAccount(Account), void deleteAllAccounts(), Account[] getAccounts(), Person getPerson(), boolean hasPersonAccount(), boolean ownedByPerson(Person p).
Un AccountManager permet de gérer un ensemble de PersonneAccountTuple. Rend les services suivants : boolean manageAccount(Person, Account), Boolean unmanageAccount(Person, Account), boolean unmanagePerson(Person), Account[] getAccounts(Person), float getCapital(), int
getNumberOfPersons(), int getNumberOfAccounts().

Voici aussi le code source de travail que j'ai effectué, dans cette projet on m a demandé de ne pas utilise l'interface, mais plutôt l'héritage.


public class Account {

protected String accountNumber;
protected float balance;


public Account(String accountNumber,float balance){
this.accountNumber=accountNumber;
this.balance=balance;
}
public String accountNumber(){
return accountNumber;
}

public float balance(){
return balance;

}
public float deposit(float sommeDepot){
balance=balance+sommeDepot;
return balance;
}
public float withdraw(float sommeRetrait){
balance=balance-sommeRetrait;
return balance;
}
public String toString(){
return new String("compte :"+accountNumber+","+balance);
}
}


public class AccountManager extends Personne{

private float capital;
private int numberOfAccounts;
private int numberOfPersons;
private String Accounts;

public AccountManager(String nom,String prenom,int age,float capital,int numberOfAccounts,int numberOfPersons,String Accounts){
super(nom,prenom,age);
this.capital=capital;
this.numberOfAccounts=numberOfAccounts;
this.numberOfPersons=numberOfPersons;
this.Accounts=Accounts;
}

public float getCapital() {
return capital;
}

public int getNumberOfAccounts() {
return numberOfAccounts;
}

public int getNumberOfPersons() {
return numberOfPersons;
}

}




public class ForeignCurrencyAccount extends Account {

private float ExchangeRate;

public ForeignCurrencyAccount(String accountNumber,float balance,float ExchangeRate){
super(accountNumber,balance);
this.ExchangeRate=ExchangeRate;
}


public float balanceForeignCurrency() {
return (super.balance()*ExchangeRate);
}

public float depositForeignCurrency(float sommeDepot) {
return (super.deposit(sommeDepot)*ExchangeRate);
}


public float getExchangeRate() {
return ExchangeRate;
}


public void setExchangeRate(float exchangeRate) {
ExchangeRate = exchangeRate;
}

public float withdrawForeignCurrency(float montant){
return (super.withdraw(sommeRetrait*ExchangeRate);
}

public String toString(){
return new String (accountNumber+","+balance+","+ExchangeRate);
}

}



public class LimitedAccount extends Account {

private float MaxCredit;

public LimitedAccount(String accountNumber,float balance,float MaxCredit){
super(accountNumber,balance);
this.MaxCredit=MaxCredit;
}

public float getMaxCredit() {
return MaxCredit;
}
{
super.balance();
super.accountNumber();
}

public float depositLimit(float sommeDepot) {
if(sommeDepot<=30000 && sommeDepot>0){
System.out.println("vous pouvez faire un depot");
return (super.deposit(sommeDepot));
}
else{
System.out.println("impossible d'effectuer cette operation");
return (super.deposit(sommeDepot));
}
}
public float withdrawLimit(float sommeRetrait) {
if(sommeRetrait<=9000 && sommeRetrait>0){
System.out.println("vous pouvez retier");
return (super.withdraw(sommeRetrait));
}
else{
System.out.println("impossible de retier");
return (super.withdraw(sommeRetrait));
}
}
public String toString(){
return new String(accountNumber+","+balance+","+MaxCredit);
}
}



public class Personne {

private String nom;
private String prenom;
private int age;
private String adresse;


public Personne(String nom,String prenom,int age,String adresse){
this.nom=nom;
this.prenom=prenom;
this.age=age;
this.adresse=adresse;

}


public String toString(){
return new String(nom+","+prenom+","+age+","+adresse);
}


public int getAge() {
return age;
}


public String getNom() {
return nom;
}

public String getPrenom() {
return prenom;
}

public String getAdresse() {
return adresse;

}



public class PersonneAccountTuple extends Personne{
private int capacite=20;
private int nbComptes;


public PersonneAccountTuple(String nom, String prenom,String adresse,int age,int nbComptes){
super(nom,prenom,age,adresse);

this.nbComptes=nbComptes;

}
public void addAccount(Account account){

if (nbComptes <= capacite) {
account ++;

}


}


}