Любое утверждение о классах с именами 'A' и 'B', вероятно, не имеет достаточного контекста, чтобы быть либо неправильным, либо правильным.
Но я предпочел бы, если бы было разумно иметь расширение B, расширяющее A, почти всегда предпочитаю использовать защищенный доступ или доступ к элементу данных уровня пакета. Если у вас есть интерфейс, который является формальным и достаточно серьезным, чтобы использовать методы доступа Get / Set, вы, вероятно, находитесь вне контекста, в котором наследование реализации является хорошим выбором при проектировании.