Привет, я погуглил об этой проблеме, но не нашел ничего полезного.
У меня есть один объект userUI, который представляет пользовательский интерфейс обычной области пользователя. И у меня есть объект AdminUI, который расширяет это, и я хочу добавить опцию admin к этому классу самым правильным способом без необходимости осуществлять управление общими опциями этого.
Попытка сделать это (сделайте это как пример для удобства ....
Это правильный путь или есть более эффективный и простой способ.
Ощущение, будто я что-то упустил ...
Это мой код:
package main.java.draft;
import java.util.Scanner;
//Stackoverflow question
public class SOQ {
public static void main(String[] args) {
//How to do combination of some conditions.
//Trying on user.
UserUI userUI = new UserUI();
System.out.println("If User regualr just 1-7, if admin 8-12 too");
Scanner sc = new Scanner (System.in);
int input = sc.nextInt();
userUI.manageOptions(input);
//trying to do that on admin
System.out.println("If User regualr just 1-7, if admin 8-12 too");
AdminUI adminUI = new AdminUI();
input = sc.nextInt();
adminUI.manageOptions(input);
sc.close();
}
}
class UserUI{
boolean admin = false;
public void manageOptions(int input){
if(input > 0 && input < 8){
userMethods(input);
}
else if((input > 7 && input < 13) && admin){
AdminUI adminUI = new AdminUI();
adminUI.manageAdminOptions(input);
}
else{
System.out.println("Not proper option");
}
}
public void userMethods(int input){
System.out.println("User Methods - method " + input);
}
}
class AdminUI extends UserUI{
public AdminUI(){
admin = true;
}
public void manageAdminOptions(int input){
adminMethods(input);
}
public void adminMethods(int input){
System.out.println("Admin Methods - method " + input);
}
}
**
Подробнее о деле.
**
Это вывод - экран пользователя:
Пожалуйста, выберите один из следующих вариантов:
1- Изменить сообщения.
2- сменить пароль.
3- Изменить адрес электронной почты.
4- Показать мои данные. (с паролем? - да)
5- выйти.
6 - показать сообщения.
7- Удалить аккаунт (с паролем).
Это вывод администратора:
Пожалуйста, выберите один из следующих вариантов:
1- Изменить сообщения.
2- сменить пароль.
3- Изменить адрес электронной почты.
4- Показать мои данные. (с паролем? - да)
5- выйти.
6 - показать сообщения.
7- Удалить аккаунт (с паролем).
7 - показать конкретного пользователя по имени
8 - показать всех пользователей
9 - удалить одного пользователя.
10 - удалить всех пользователей!
11 - изменить данные пользователя (пароль / электронная почта)
Я хочу, чтобы админ продлил пользователя, потому что на самом деле он вроде как пользователь. Я хочу сделать метод, который делает реализацию для пользователя или администратора, а не делать снова все общие реализации в администраторе ...