2011-05-31 59 views
0

我正在學習一個項目。這是一個銀行模擬,僅用於練習面向對象的方法。 這是我的代碼,你可以幫我介紹一下OOD。我如何在這個項目上使用繼承和接口?使用Java進行簡單的面向對象設計示例

public class Main { 

    public static void main(String[] args) { 

     User[] User = new User[10]; 
     for(int i = 0; i < 10; i++) 
      User[i] = new User(i); 

     System.out.print("User Number:"); 
     Scanner s = new Scanner(System.in); 
     int UserNo = 0; 
     if(s.hasNextInt()) 
      UserNo = Integer.parseInt(s.next()); 

    public void withdraw() 

    public void payIn(){ 

    public void MoneyOrder(){ 


} 
+0

一個小的通知:在你的User類中你有一些問題。變量'moneyInAccount'和'UserNo'不是字段,而是局部變量。您應該有: 'class User {int moneyInAccount; int UserNo; public User(int i){0} {0} moneyInAccount =(int)(Math.random()* 1000); UserNo = i; } }' – 2011-05-31 12:13:56

+0

感謝您的幫助。 – CapedAvenger 2011-05-31 12:25:15

回答

0

你可以把你所有的退出()等其他方法在接口,並創建一個具體實現這些方法..

而且繼承你的分類的用戶爲特權用戶或一般用戶。你可以做進一步根據賬戶類型電流或儲蓄賬戶等分類

interface Bank 
{ 
    public void withdraw(); 
    public void deposit(); 
    //Other methods  

} 
class ABC_Bank implements Bank 
{ 
//Implementation of methods defined by Bank Interface , 
    User Username;     //can also include its Own methods 
} 

class User 
{ 
String name; 
//Other fields and getter setter methods 

} 
class PrivilegedUSer extends User 
{ 
    //Methods specific to privileged User. 
} 

銀行模擬是一個大P項目和你必須遵循所有的OOSE概念,比如繪製用例圖,類圖以幫助你識別類之間的關係。 例如用戶有帳戶。因此兩個類別之間存在關聯關係。根據您的應用程序,您可以選擇多重性(用戶可以有多個帳戶)。 這意味着每個這些類將包含對方的對象引用。

+0

但是爲了創建一個接口,我需要類。我需要爲我的所有方法創建類還是什麼? – CapedAvenger 2011-05-31 12:15:36

+0

@CapedAvenger看到我編輯的答案。 – Algorithmist 2011-05-31 12:22:49

+0

如何將我的代碼與您的設計加入?我的「Main」類會實現「Bank」接口還是需要創建新的類如「ABC_Bank」? – CapedAvenger 2011-05-31 12:30:33

0

我認爲你需要開始思考對象。因此,決定你的對象是什麼你有用戶,但帳戶呢。也許你可以看看一個帳戶界面,該界面定義了一個帳戶的常用類型(付款,退出),然後可以通過具體的帳戶類型來實現,例如,儲蓄,當前。

0

看來你有一半的OOP的想法。在這種情況下,你可能需要創建一個類,這個類是一個賬戶(或者一個接口和一個實現它的類)some info here。想法是將類作爲對象出現在世界中(例如:一個賬號是對於繼承,我不知道你的家庭作業的要求,但也許還有一些其他的類繼承你的賬戶類(info here),也許是當前和節約,如在這裏的另一個答案中概述。