У меня есть различные классы, называемые English
, Spanish
, French
и т.д .:Как избежать дублирования кода со многими небольшими классами?
Class English{
String name = "English";
String alias = "ENG";
}
Class French{
String name = "French";
String alias = "Fre";
}
Точно так же и другие языковые курсы.
И еще один класс называется Language
:
Class Language{
String name = "";
String alias = "";
}
В зависимости от моих требований, я хочу, чтобы бросить английский/французский/испанский язык в мой класс.
Class ABC{
main(){
Language lan = new Language();
Object obj = getObject(1);
if(obj instanceof English){
lan.name = ((English)obj).name;
lan.aliasName = ((English)obj).aliasName;
}
}
}
Если у меня 10 языков, мне нужно написать тот же код для 10 разных языков? В этом случае, как я могу сделать один метод и передать эти аргументы в качестве параметров? Что-то вроде этого:
setVariablesForLanguage(String className, Object obj)
Здесь я показал только две переменные, но мой класс будет содержать более 100 переменных .. Мой фактический rewquirment, я хочу, чтобы установить мои языковые переменные из одного из этих языков ..
Как используется выше, поведение понятия «язык» сопоставляется с одним классом. Каждый язык будет экземпляром этого класса. Определение подкласса для каждого языка вовсе не помогло бы избежать дублирования кода! – xtofl