首先,我真的不想让任何人做我的任务。我无法理解我被要求实施的设计要点。其中一种方法对我来说似乎是多余的,我想知道是否有人能够对此做出一些解释。面向对象的CRUD程序 - 面向对象设计的原因是什么?
我必须做一个学生类(和子类)有4种方法:添加,删除,更新和查询。我必须能够使用这些方法来更新数据库。例如,add()方法的规范说:
当调用此方法时,将为该学生创建数据库条目。
我能理解,我们需要在这里有一个类,因为如果进入GUI的信息是不正确的话,我可以在学生类的一些setter方法将抛出可以由被捕获的异常GUI和这些可以显示。所以这个类对验证信息很有用。同样适用于更新和删除方法。
这是真的讨厌我的东西是query()方法:
当这个方法被调用,查询是对数据库进行检索信息,然后显示在屏幕上。
Student类意味着有一个query()方法(并且它有继承这个的子类)。但为了查询数据库,我们已经需要创建实例,所以我们已经查询了数据库以获取创建类的信息,所以我可以调用toString()方法我已覆盖显示课程的数据。
我没有看到每个Student实例有一个query()方法的时候,这对他们来说是多余的使用它的重点。谁能告诉我为什么这可能有用?
感谢
更新
谢谢大家谁回答。我承认,通常应该在保存数据的对象与使用或对数据执行操作的对象之间分离关注事项。
我的任务指出查询方法应该查询数据库,然后将该信息显示给屏幕。我现在在想,如果我使用静态方法并给它一个学生名称或某个东西的参数,那么它实际上可以查询数据库,然后使用该信息创建一个Student实例并显示它。至少这对我来说是有意义的,因为它只被调用一次,所以没有冗余。
这功课吗?听起来像是这样,它会稍微改变你得到的答案。所以,如果是这样,请标记为这样。 –
已标记。感谢Joachim。 – Joe