Повторное использование общего кода между подклассами [Java] - PullRequest
0 голосов
/ 06 марта 2019
Public abstract class Profile <T extends ProfileOpt> {
..
}

Class A extends Profile<class C> {
..
}

Class B extends Profile<class D> {
..
}

Class D extends class C {
..
}

I have a method which has common code both in 

class A
update(String xyz, C c) {

}

Class B 
Update (String abc, D d) {

}

Я понимаю, что написание метода обновления в классах A и B - плохая идея, мне нужно повторно использовать код.

Один из способов, который я могу придумать, - это создать отдельный класс Update только с этим методом, а затем создать экземпляр Update, A и B и выполнить вызов метода из обоих классов с соответствующими аргументами.

Есть ли лучший способ для этого или это хорошо с точки зрения OOPS?

1 Ответ

0 голосов
/ 06 марта 2019

Похоже, у вас перегруженная версия метода update, который принимает разные типы аргументов. В этом случае я бы предложил следующее:

  • Создать метод в Profile классе (так как он является родительским классом для A и B), вызвать его update(String arg)
  • Запишите общую логику в этот метод
  • Создайте update методы в классах A и B, сначала вызовите update(str) и напишите пользовательский код для обработки определенного типа в соответствующем методе
...