【发布时间】:2020-08-14 17:28:54
【问题描述】:
我在Register 类中有一个方法addUser(),它作为常规形式工作,向系统用户询问诸如“firstName”、“lastName”之类的信息"、“用户名”和“密码”。
class Register {
void addUser() {
try {
System.out.print("First Name:\n> ");
String firstName = userInput.nextLine();
(...)
}
}
只有一次用户注册并登录后,他们可以使用 Customer 类中的方法添加新客户,其执行方式与 addUser() 相同,但添加更多字段,例如“ 地址”和“电子邮件”。
class Customer {
/*At the moment I'm redoing all over again just because it works.
and because I didn't know how to implement in any other way.*/
void addCustomer() {
try {
System.out.print("First Name:\n> ");
String firstName = userInput.nextLine();
System.out.print("Address:\n> ");
String address = userInput.nextLine();
(...)
如何利用用户作为条件登录的事实在Customer 类中重用addUser() 方法?提前感谢您的宝贵时间。
【问题讨论】:
-
继承,再扩展类,在子类中添加附加指令
-
一点旁注:通过初始化 try 块中的变量,您可以使它们无法从 try 块/范围之外访问。您可能想要的是初始化整个类
Customer的变量,然后在 try 块中设置它们。无法解决您的问题 - 但我刚刚注意到 -
这不是 OOP 应该如何工作的。用户和客户是您的域中的两个不同概念。您需要在不同地方向用户询问一组信息这一事实应该会引导您找到一个可以做到这一点的类(使用不同的“配置”)。
-
我确实尝试过继承,但是我在尝试访问时遇到了问题,但我没有意识到这是因为try/catch,它说了很多。感谢那。至于我是否应该继续这样做,这是一个公平的观点。我只是想在这里应用代码可重用的概念。
标签: java reusability code-reuse