Java的简单面向对象设计实例

时间:2011-05-31 12:03:17

标签: java

我正在研究一个项目。这是一个银行模拟,只是为了练习OOP元数据。 这是我的代码,你能帮我解决一下OOD吗?如何在此项目中使用继承和接口?

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(){


}

3 个答案:

答案 0 :(得分:1)

您可以将所有withdraw()等其他方法放在接口中,并创建这些方法的具体实现。

对于继承,您将用户分类为特权用户或普通用户。您可以进一步根据帐户类型进行分类为当前或保存帐户等。

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. 
} 

银行业务模拟是一个大项目,您必须遵循所有OOSE概念,如绘制用例图,类图,这将有助于您识别类之间的关系。 例如用户有帐户。因此,两个类之间存在关联关系。根据您的应用程序,您可以选择多重性(用户可以有多个帐户)。这意味着每个类将包含彼此的对象引用。

答案 1 :(得分:0)

我认为你需要从对象开始思考。所以决定你的对象是什么,例如你有用户,但帐户呢。也许您可以查看一个帐户界面,该界面定义帐户具有的常用类型的方法(支付,提取),然后可以通过具体的帐户类型实现,例如储蓄,当前。

答案 2 :(得分:0)

看来你已经有了一半的OOP想法。在这种情况下,您可能需要创建一个类帐户(或接口和实现它的类)some info here。这个想法是将类建模为它们在世界中出现的对象。(例如:对于继承,我不知道你的家庭作业的要求,但也许其他一些继承你的帐户类(info here)的类,可能是当前和节省,如另一个答案所述