For the case study in 12.5, suppose that a borrower may have multiple loans. Redesign the system and redraw the UML diagrams to reflect the change. Use an array list to store multiple loans. You need a method that adds a new loan, a method that removes an existing loan, and a method that returns all loans in a list. Implement the new design and write a test program that creates a borrower with three loans, and display borrower and loan information.
题目本身给了4个class 是显示一个人贷款的信息的。发一下UML diagram,代码太长写不下了。现在要把它改成一个贷款人贷好几项款。用一个array list储存多项贷款。一个method添加新贷款,一个method删除一个贷款,一个method显示list中所有的贷款。Implement新的design还有写一个test program一个贷款人3项贷款,显示贷款人和贷款信息。
Name
-first name: String
-mi: char
-last Name: String
+Name(firstName: String, mi: char, lastName: String)
+getFirstName(): String
+getMi(): char
+getLastName(): String
+getFullName(): StringPerson
-name: Name
-address: Address
+Person()
+Person(name:Name, address:Adress)
+getName(): Name
+setName(name:Name): void
+getAddress(): Address
+setAddress(address: Address): void
+toString(): StringAddress
-street:String
-city:String
-state:String
-zip:String
+Address(street:String, city:String, state:String, zip:String)
+getStreet(): String
+getState(): String
+getZip(): String
+getFullAddress(): StringBorrower
-loan: Loan
+Borrower()
+Borrower(name:Name, address:Address)
+getLoan(): Loan
+setLoan(loan: loan): void
+toString():String不好意思这么复杂 不知道我有没有说清楚~ 完全摸不到头绪,问了好多同学都不会做。希望高手能指点一下~ 
谢谢咯~

解决方案 »

  1.   

    Borrower类:
    private ArrayList<Loan> loans=new ArrayList<Loan>();public void addLoan(Loan loan){}public void deleteLoan(Loan loan){}public void listLoans(){
        for(Loan loan:loans){
    System.out.println(loan); //自己写一下toString方法
        }
    }
    Loan:
    Inteface Loan(){
        String getLoanName(); //贷款名和贷款金额;有其他需要自己添
        int getLoanCount();
    }class Loan1 implement Loan(){
        //覆写一下父类的方法
    }class Loan2 implement Loan(){
        //覆写一下父类的方法
    }class Loan3 implement Loan(){
        //覆写一下父类的方法
    }class Test(){
        public static void main(String[] args){
    Loan loan1=new Loan1();  //需要的话,自己改下一下构造方法
    Loan loan2=new Loan2();
    Loan loan3=new Loan3();
            Borrower b=new Borrower();
    b.addLoans(loan1);
    b.addLoans(loan2);
    b.addLoans(loan3);
    b.listLoans();
        }
    }
      

  2.   


    谢谢 可是请问覆写父类的方法是什么意思?是用return么?
    我们好像没有学过parent class这个东西。请问哪个是父类方法?谢谢啦~