Я думаю, что это странный дизайн; вы создадите зависимости между унаследованными классами.
Метод (и переменная флага) должен быть в родительском классе X.
(изменить)
чтобы уточнить / заменить то, что я написал выше,
переменная может быть в базовом классе, класс Y будет устанавливать переменную (Setter), а класс Z будет иметь метод, который будет «получать» значение из базового класса.