2017-04-09 2 views
-4

Hallo, ich habe eine Frage über Bank.javaAggregation und Vererbung Beziehung

Ich habe diese Fragen:
Ein Banksystem benötigt Accounts und Customers Informationen über Bank zu speichern. Die Bank unterstützt zwei verschiedene Arten von Konten (Schecks und Spareinlagen). Alle Bankkonten haben das Konto Number, Kontostand und date opened. Zwei Vorgänge sind für alle Konten definiert, makeDeposit() und makeWithdrawal(). Scheckkonten haben ein zusätzliches Attribut für Scheckstil und Mindestguthaben. Das Speichern von Konten hat ein zusätzliches Attribut für den Zinssatz und eine Operation für calculateInterest().

Alle Kunden haben eine name, eine address und eine phone number. Darüber hinaus kann ein Kunde so viele Konten haben, wie er benötigt.
Die obigen Spezifikationen wurden wie folgt um neue Anforderungen erweitert: Es gibt zwei spezielle Kundentypen (Personal und Commercial). Gewerbliche Kunden haben zusätzliche Attribute für Bonität, Kontaktperson und Kontaktperson Telefon. Persönliche Kunden haben Attribute für home phone und work phone. Erweitern Sie außerdem das Modell, um anzuzeigen, dass die Bank über mehrere Filialen verfügt und dass jedes Konto von einer Filiale bedient wird. Natürlich hat jede Filiale viele Konten.
Erstellen Sie ein einfaches Testprogramm (keine GUI oder Ausnahmebehandlung erforderlich, machen Sie es einfach). Der Name dieses Testprogramms lautet Bank.java, es sollte die oben genannten Klassen verwenden. Bank.java sollte eine ArrayList für alle Bankkonten erklären. Das Testprogramm sollte die Systemfähigkeiten nutzen; Die folgenden Beispieloperationen veranschaulichen die Systemfunktionen:

a. Erstellen Sie ein Girokonto für einen kommerziellen Kunden in der Zweigstelle von Chicago und fügen Sie es der Array-Liste hinzu
b. Erstellen Sie eine separate Methode, um die Kundeninformationen und den Kontostand anzuzeigen. Rufen Sie die Methode im Auftrag des Kunden auf, den Sie im vorherigen Schritt erstellt haben.
c. Zahlen Sie 100 $ in das Konto ein, das Sie in 'a' erstellt haben, und zeigen Sie dann die neuen Informationen an.
d. Erstellen Sie ein Sparkonto für einen einzelnen Kunden in einer Filiale mit einem Anfangssaldo von 100 US-Dollar und einem Zinssatz von 10% und fügen Sie es der Array-Liste hinzu. e. Sparbuchinformationen anzeigen
f. Machen Sie eine Einzahlung von 100 $ auf das Sparkonto, berechnen Sie die Zinsen und zeigen Sie dann die Informationen
g. Implementieren Sie andere Operationen Ihrer Wahl!

Dies ist mein Code Ich habe alles außer der Bank.java Klasse geschrieben, ich weiß nicht, von wo ich anfangen sollte oder wie es geht, bitte könnte mir jemand helfen oder enplane zu mir, was soll ich tun.

Hier können Sie meinen Code finden:

public abstract class Account{ 
    protected String accountNumber; 
    protected double balance; 
    protected String dateOpened; 
    protected Customer state; 
    protected Customer customer; 

    public Account(){ 
     this.accountNumber = ""; 
     if (balance < 0) 
      balance = 0.0; 
     this.balance = 0.0; 
     this.dateOpened = ""; 
     state = null; 
     customer = null; 
    } 
    public Account (String accountNumber,double balance,String dateOpened, Customer state,Customer customer){ 
     this.accountNumber = accountNumber; 
     this.balance = balance; 
     this.dateOpened = dateOpened; 
     this.state = state; 
     this.customer = customer; 
    } 
    public void setCustomer(Customer customer){ 
     this.customer = customer; 
    } 
    public Customer getCustomer(){ 
     return customer; 
    } 
    public void setState(Customer state){ 
     this.state = state; 
    } 
    public Customer getState(){ 
     return state; 
    } 
    public void setAccountNumber(String accountNumber){ 
     this.accountNumber = accountNumber; 
    } 
    public String getAccountNumber(){ 
     return accountNumber; 
    } 
    public void setBalance(double balance){ 
     this.balance = balance; 
    } 
    public double getBalance(){ 
     return balance; 
    } 
    public void setDateOpened(String dateOpened){ 
     this.dateOpened = dateOpened; 
    } 
    public String getDateOpened(){ 
     return dateOpened; 
    } 
    public void makeDeposit(double depositAmount) { 
     balance = balance + depositAmount; 
     } 
    public void makeWithdrow(double withdrowAmount){ 
     balance = balance - withdrowAmount; 
    } 

    public String toString(){ 
     String output = ""; 
     output += "\nCustomer State: " + this.state; 
     output += "\nCustomer Customer: " + this.customer; 
     output += "\nAccount Number: " + this.accountNumber; 
     output += "\nAccount Balance: " + this.balance; 
     output += "\nAccount Date Opened: " + this.dateOpened; 
     return output; 
    } 

} 

public class Customer { 
    protected String name; 
    protected String address; 
    protected String phone; 


    public Customer(){ 
     this.name = ""; 
     this.address = ""; 
     this.phone = ""; 
    } 
    public Customer(String name,String address,String phone){ 
     this.name = name; 
     this.address = address; 
     this.phone = phone; 
    } 
    public void setName(String name){ 
     this.name = name; 
    } 
    public String getName(){ 
     return name; 
    } 
    public void setAddress(String address){ 
     this.address = address; 
    } 
    public String getAddress(){ 
     return address; 
    } 
    public void setPhone(String phone){ 
     this.phone = phone; 
    } 
    public String getPhone(){ 
     return phone; 
    } 
    public String toString(){ 
     String output = ""; 
     output += "\nCustomer Name: " + this.name; 
     output += "\nCustomer Address: " + this.address; 
     output += "\nCustomer Phone: " + this.phone; 
     return output; 
    } 

} 

public class CheckingAcount extends Account { 
    private String checkStyle; 
    private String minumumBalance; 

    public CheckingAcount(){ 
     this.checkStyle = ""; 
     this.minumumBalance = ""; 
    } 
    public CheckingAcount(String checkStyle,String minumumBalance){ 
     this.checkStyle = checkStyle; 
     this.minumumBalance = minumumBalance; 
    } 
    public CheckingAcount(String checkStyle,String minumumBalance,String accountNumber,double balance,String dateOpened,Customer state,Customer customer){ 
     super(accountNumber,balance,dateOpened,state,customer); 
     this.checkStyle = checkStyle; 
     this.minumumBalance = minumumBalance; 
    } 
    public CheckingAcount(String accountNumber,double balance,String dateOpened,Customer state,Customer customer){ 
     super(accountNumber,balance,dateOpened,state,customer); 
    } 
    public void setCheckStyle(String checkStyle){ 
     this.checkStyle = checkStyle; 
    } 
    public String getCheckStyle(){ 
     return checkStyle; 
    } 
    public void setMinumumBalance (String minumumBalance){ 
     this.minumumBalance = minumumBalance ; 
    } 
    public String getMinumumBalance(){ 
     return minumumBalance ; 
    } 
    public String toString(){ 
     String output = ""; 
     output += "\nAccount Number: " + this.accountNumber; 
     output += "\nAccount Balance: " + this.balance; 
     output += "\nAccount Date Opened: " + this.dateOpened; 
     output += "\nChecking Account Check Style: " + this.checkStyle; 
     output += "\nChecking Account Minumum Balance: " + this.minumumBalance; 
     return output; 
    } 
} 

public class SavingAccount extends Account { 

    private double intrestRate; 

    public SavingAccount(){ 
     this.intrestRate = 0.0; 
    } 
    public SavingAccount(double intrestRate){ 
     if (intrestRate < 0) 
      intrestRate = 0.0; 
     this.intrestRate = intrestRate; 
    } 
    public SavingAccount(double intrestRate, String accountNumber,double balance,String dateOpened,Customer state,Customer customer){ 
     super(accountNumber,balance,dateOpened,state,customer); 
     if (intrestRate < 0) 
      intrestRate = 0.0; 
     this.intrestRate = intrestRate; 
    } 
    public SavingAccount(String accountNumber,double balance,String dateOpened,Customer state,Customer customer){ 
     super(accountNumber,balance,dateOpened,state,customer); 
    } 
    public void setIntrestRate(double intrestRate){ 
     this.intrestRate = intrestRate; 
    } 
    public double getIntrestRate(){ 
     return intrestRate; 
    } 

    public double calculateInterest() { 
     return intrestRate; 
    } 
    public String toString(){ 
     String output = ""; 
     output += "\nAccount Number: " + this.accountNumber; 
     output += "\nAccount Balance: " + this.balance; 
     output += "\nAccount Date Opened: " + this.dateOpened; 
     output += "\nSavingAccount Intrest Rate: " + this.intrestRate; 
     return output; 
    } 
} 

public class Personal extends Customer { 
    private String homePhone; 
    private String workPhone; 

    public Personal(){ 
     this.homePhone = ""; 
     this.workPhone = ""; 

    } 
    public Personal(String homePhone,String workPhone){ 
     this.homePhone = homePhone; 
     this.workPhone = workPhone; 
    } 
    public Personal(String homePhone,String workPhone,String name,String address,String phone){ 
     super(name,address,phone); 
     this.homePhone = homePhone; 
     this.workPhone = workPhone; 
    } 
    public Personal(String name,String address,String phone){ 
     super(name,address,phone); 
    } 
    public void setHomePhone(String homephone){ 
     this.homePhone = homephone; 
    } 
    public String getHomePhone(){ 
     return homePhone; 
    } 
    public void setWorkPhone(String workPhone){ 
     this.workPhone = workPhone; 
    } 
    public String getWorkPhone(){ 
     return workPhone; 
    } 
    public String toString(){ 
     String output = ""; 
     output += "\nCustomer Name: " + this.name; 
     output += "\nCustomer Address: " + this.address; 
     output += "\nCustomer Phone: " + this.phone; 
     output += "\nPersonal Home Phone: " + this.homePhone; 
     output += "\nPersonal Work Phone: " + this.workPhone; 
     return output; 
    } 
} 

public class Commercial extends Customer { 
    private double cridetRating; 
    private String contactPerson; 
    private String contactPersonPhone; 

    public Commercial(){ 
     this.cridetRating = 0.0; 
     this.contactPerson = ""; 
     this.contactPersonPhone = ""; 
    } 
    public Commercial(double cridetRating,String contactPerson,String contactPersonPhone){ 
     this.cridetRating = cridetRating; 
     this.contactPerson = contactPerson; 
     this.contactPersonPhone = contactPersonPhone; 
    } 
    public Commercial (double cridetRating,String contactPerson,String contactPersonPhone,String name,String address, String phone){ 
     super(name,address,phone); 
     this.cridetRating = cridetRating; 
     this.contactPerson = contactPerson; 
     this.contactPersonPhone = contactPersonPhone; 
    } 
    public Commercial (String name, String address, String phone){ 
     super (name,address,phone); 
    } 

    public void setCridetRating(double cridetRating){ 
     this.cridetRating = cridetRating; 
    } 
    public double getCridetRating(){ 
     return cridetRating; 
    } 
    public void setContactPerson(String contactPerson){ 
     this.contactPerson = contactPerson; 
    } 
    public String getContactPerson(){ 
     return contactPerson; 
    } 
    public void setContactPersonPhone(String contactPersonPhone){ 
     this.contactPersonPhone = contactPersonPhone; 
    } 
    public String getContactPersonPhone(){ 
     return contactPersonPhone; 
    } 
    public String toString(){ 
     String output = ""; 
     output += "\nCustomer Name: " + this.name; 
     output += "\nCustomer Address: " + this.address; 
     output += "\nCustomer Phone: " + this.phone; 
     output += "\nCommercial Cridet Rating: " + this.cridetRating; 
     output += "\nCommercial Contact Person: " + this.contactPerson; 
     output += "\nCommercial Contact Person Phone: " + this.contactPersonPhone; 
     return output; 
    } 
} 
+2

Viele Leute werden einem Link aus verschiedenen Gründen nicht folgen.Wenn Sie Ihren Code nicht verwenden, verringern Sie die Wahrscheinlichkeit, eine Antwort auf Ihre Frage zu finden. Sie können auch Down-Stimmen erhalten. – MikeT

+0

Warum können Sie nicht versuchen, alles zu kodieren, was Sie erreichen wollen und Fragen stellen, wenn Sie stecken bleiben – prasanth

+0

Ich habe meinen Code. – Skarali

Antwort

0

Sieht aus wie Sie in die richtige Richtung mit dem Klassenobjekte werden. Du hast noch wenig mehr zu tun, bevor wir hineinspringen können, wenn du denkst, dass du fest sitzt.

Hinweis: Commerical vs Non-Commerical versuchen eine True/False-Eigenschaft auf dem Konto-Klasse-Objekt, sollte die Notwendigkeit für mehrere Listen beseitigen, aber es erhöht Komplexität leicht. Es hier zu platzieren schafft die Beziehung, nach der Sie suchen, glaube ich.

Verwandte Themen