Obecnie mam dwie klasy pochodzące, A
i B
, że obaj mają równe wspólnego i próbuję ustalić, czy należy przejść do klasy podstawowej.
Nigdy nie jest przywoływany z klasy podstawowej i powiedzmy, że jeśli w pewnym momencie drogi zostanie wyprowadzona inna klasa C
, która nie ma _field1
, to nie naruszono by zasady „najmniej uprzywilejowanego” (lub czegoś), gdyby było?
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
, i_field1
są. To ważne szczegóły, których nie należy pomijać; Myślę, że powinieneś edytować pytanie, aby porozmawiać o tym, co to jest.