Я хочу определить некоторые общие правила постструктурного поведения для группы классов.Когда у вас есть общие поведения в разных классах, Java говорит нам извлечь их в родительский класс.
Концептуально, мы говорим, для объектов этого типа (и его подклассов) имеет смысл:некоторая постобработка после ее создания;
Практически это трудно сделать.Очевидно, вы не можете поместить его в конструктор родительского класса, потому что родительский конструктор вызывается до конструктора подкласса.Я мог бы написать метод postInit () в родительском классе и потребовать, чтобы все подклассы вызывали его как последний оператор в своих конструкторах, но он не выглядит очень чистым, так как нет способа применить его, и люди забывают.
Может быть, есть какая-то языковая конструкция, о которой я не знаю, которая может решить мою проблему?
Спасибо
Еще немного информации о требовании.Фабричные методы и т. Д., Которые предлагаются во многих ответах (которые я проголосовал ниже), являются хорошими идеями, но у меня нет такой роскоши.Фактическая ситуация такова, у меня есть родительский класс, который расширен парой дюжин подклассов, которые, в свою очередь, используются во многих других местах.Так что перепроектировать, как используются эти подклассы, не может быть и речи, и изменение всех подклассов является пограничным.В идеале мне просто нужно поменять родительский класс, поэтому я об этом и спрашиваю.