Derzeit habe ich zwei abgeleitete Klassen, A
und B
beide haben ein gemeinsames Feld, und ich versuche zu bestimmen, ob es in die Basisklasse aufgenommen werden soll.
Es wird nie von der Basisklasse aus referenziert, und sagen Sie, wenn irgendwann auf der Straße eine andere Klasse abgeleitet wird C
, die kein a hat _field1
, dann würde das Prinzip der "am wenigsten privilegierten" (oder etwas) nicht verletzt, wenn dies der Fall ist war?
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
, und_field1
sind. Das sind wichtige Details, die man nicht auslassen sollte; Ich denke, Sie sollten die Frage bearbeiten, um darüber zu sprechen, was das ist.