2011-01-05 8 views
0

mit dem folgenden Code:Vererbung: Methoden

class BaseClass 
{ 
    protected void Do(var param) {}; 
} 

class DerivedClass 
{ 
    public void DoSomething() 
    { 
     var param = something; 
     Do(param); 
    } 
} 

Ist dies der richtige Weg, Vererbung zu benutzen? Ich würde denken, ich hätte die "Do" -Methode in eine separate Klasse gestellt und Komposition verwendet. Dies würde jedoch verletzen Verkapselung, wie ich ein Objekt in der Basisklasse acces müssen würde:

class DerivedClass 
{ 
    public void DoSomething() 
    { 
     var param = something; 
     base.GetObject().Do(param); 
    } 
} 

Antwort

0

Yep, dass die Art und Weise, wenn gut =] Zusammensetzung hier wahrscheinlich würde Verkapselung nicht brechen, aber dies scheint wie ein akzeptables Verwendung von Unerträglichkeit.