В настоящее время у меня есть два производных класса, A
и B
оба имеют общее поле, и я пытаюсь определить, должно ли оно перейти в базовый класс.
На него никогда не ссылаются из базового класса, и говорят, что если в какой-то момент в будущем будет получен другой класс, C
который не имеет _field1
, то не нарушится ли принцип «наименее привилегированный» (или что-то еще), если он было?
public abstract class Base
{
// Should _field1 be brought up to Base?
//protected int Field1 { get; set; }
}
public class A : Base
{
private int _field1;
}
public class B : Base
{
private int _field1;
}
public class C : Base
{
// Doesn't have/reference _field1
}
Base
,A
,B
,C
и_field1
являются. Это важные детали, которые нельзя упускать; Я думаю, что вы должны отредактировать вопрос, чтобы поговорить о том, что это такое.