У меня имееться два подобных класса 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 будут его реализациями. Как мне это сделать правильно?
Если есть общая логика в разных классах то разумнее вынести ее в родителький абстрактный класс. Т.к. интерфейс вам не позволит это сделать, если не брать в расчет default методы
Так же, методы которые будут отличаться реализацией объявите как абстрактные
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости