У меня есть класс, который позволяет использовать BImpl, которые реализуют интерфейс B и C абстрактный класс. Оба супер класса есть метод, как DoSomething(), которые реализованы в абстрактном классе C.Избегайте метода переопределения просто вызывает тот же метод, определенный в нарушении сонара суперкласса во множественном наследовании
interface B
{
Some doSomething();
}
abstract class C
{
protected Some doSomething()
{
//Do something here...
}
}
И я реализовать BImpl следующим образом:
class BImpl extends C implemensts B
{
public Some doSomething()
{
super.doSomething()
}
}
Так я выставить абстрактное поведение класса с объектом типа B. С этим сценарием я получаю нарушение PMD (в сонаре), которое говорит: «Метод переопределения просто вызывает тот же метод, определенный в суперклассе». Это совсем не так, потому что я выставляю другое поведение родителя. Как я могу избежать этого?
Да, согласен с вами. Но мой сценарий немного отличается. Я переопределяю одного родителя и внутри него вызываю другую родительскую реализацию той же сигнатуры метода. Таким образом, это будет другой сценарий, который необходимо учитывать с этим правилом. Я прав? – chAmi