Абстрактный класс или интерфейс?

203
16 апреля 2019, 07:50

У меня имееться два подобных класса LowPathFilter и HighPathFilter.

public class HighPathFilter {
private  int timeConstantInDenominator;
public HighPathFilter(int timeConstantInDenominator){
    this.timeConstantInDenominator=timeConstantInDenominator;
}
public String printLPF(){
    String equationForm = timeConstantInDenominator+"s / "+"( "+ timeConstantInDenominator +"s + "+ 1 +" )";
    return equationForm;
}

}

и

public class LowPathFilter {
private  int numerator;
private  int timeConstantInDenominator;
private  int variableInDenominator;
public LowPathFilter(int numerator,int timeConstantInDenominator,int variableInDenominator){
    this.numerator=numerator;
    this.timeConstantInDenominator=timeConstantInDenominator;
    this.variableInDenominator=variableInDenominator;
}
public String printLPF(){
    String equationForm = numerator+" / "+"( "+ timeConstantInDenominator +"s + "+ variableInDenominator +" )";
    return equationForm;
}
}

В данных классах будут еще 5 одинаковых методов для каждого класса, но они будут немного отличаться в реализации. К тому же появятся разные поля для каждого класса. Я хочу создать родителя - класс Filter, а мои два класса LowPathFilter и HighPathFilter будут его реализациями. Как мне это сделать правильно?

Answer 1

Если есть общая логика в разных классах то разумнее вынести ее в родителький абстрактный класс. Т.к. интерфейс вам не позволит это сделать, если не брать в расчет default методы

Так же, методы которые будут отличаться реализацией объявите как абстрактные

READ ALSO
Как сделать запрос на api сервер через java

Как сделать запрос на api сервер через java

Необходимо получить информацию о курсе валют , на сайте банка есть api в формате json нужно как получить себе в приложениеhttp://www

222
Пример из Spring4. Spring+Hibernate. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager'

Пример из Spring4. Spring+Hibernate. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager'

Реализую пример из книги "Spring 4 для профессионалов" из главы "Использование Hibernate в Spring"Использую БД H2

265
Выделение из текста отдельных частей

Выделение из текста отдельных частей

Имею текст: "mech:type":"Car", "что-то":"ответ на что-то"

257
Ошибка при компиляции в IntelliJ IDEA [закрыт]

Ошибка при компиляции в IntelliJ IDEA [закрыт]

При компиляции вылазит такая ошибка, думал из за кодировки, все перепробывал не помогаетПомогите пожалуйста!

218