1

我正在制作一个医生和患者都可以登录的网站。

class Doctors {
    String firstName
    String lastName
    String email
    String password
    String hospitalName
    String NPINumber
}

和患者

class Patients{
    String firstName
    String lastName
    String email
    String password
}

很明显,有很多重叠字段仅用于身份验证/登录目的,我想知道继承是否是一个好主意,或者我应该只在单个类中创建一个标志。

所以有两个选择:

选项1

class Users{
    String firstName
    String lastName
    String email
    String password
}

class Doctors extends Users {
    String hospitalName
    String NPINumber
}


class Patients extends Users{
}

选项-2

class Users{
    String firstName
    String lastName
    String email
    String password
    boolean isDoctor
    String NPINumber
    String hospitalName
}

我不确定我应该选择哪些设计,以便将来可以扩展!

4

1 回答 1

0

选项 1 肯定更 OO。但是,为了使设计更好,我仍然会做一些改变。与其扩展 User,不如拥有一个包含一些公共属性的 User 属性。扩展 User 类可能会使您的设计更加复杂。也许这个话题可以帮助你。

另外,作为建议,不要以复数形式使用类的名称。想象一下它本身就是一个实体,而不是实体的集合。例如,显然您的类 Doctor 专门代表一位医生。不超过一个。所以你应该使用Doctor, Patient 和 User。希望能帮助到你。

于 2012-08-27T14:22:59.860 回答