ich über Design Patterns und in den Beispielen von Code zu lernen Ich habe eine Konvention gesehen, wo die abstrakte Klasse eine Methode, zum Beispiel erklärt:abstrakte Methode Unterschrift, Vererbung und „Do“ Namenskonvention
public abstract class ServiceBase {
...
public virtual object GetSomething();
und dann
protected abstract object DoGetSomething();
Meine Frage ist, warum diese beiden Methoden existieren, da sie den gleichen Zweck zu dienen scheinen. Ist dies so, dass die Methodenlogik der Basisklasse GetSomething() nicht durch geerbte Klassen überschrieben werden kann? Aber andererseits ist die Methode virtuell markiert, so dass sie trotzdem überschrieben werden kann. Was nützt es hier, Implementierer von abgeleiteten Klassen zu benötigen, um die abstrakte Methode zu implementieren, wenn die virtuelle Methode trotzdem aufgerufen werden kann?
Soll GetSomething virtuell sein? – JaredPar
Ja, es ist definitiv virtuell. –