Interfaces und Polymorphie



  • Hi Leute,
    ich habe folgendes Problem: Ich habe ein Interface

    public interface Controller
    {
      void ersteMethode();
      void zweite Methode();
    }
    

    Meine Idee war es jetzt einen konkreten Controller: concreteController1 zu implementieren, der aber nur void ersteMethode() beinhaltet und void zweiteMethode() erst in concreteController2 implementiert. Aber concreteController1 soll instanzierbar sein. als wie folgt sowas

    public class concreteController1 : Controller 
      {
         public void ersteMethode()
         {
             MessageBox.show("Ich bin die erste Methode");
         }
    
         abstarct void zweiteMethode();
      }
    
      public class concreteController2 : concreteController1
      {
          public void zweiteMethode()
          {
              MessageBox.show("Ich bin auch endlich da");
          }
      }
    

    Einer eine Idee wie ich das mit dem ersten concreteController hinbekomme ?



  • Implementiere die zweiteMethode() einfach in concreteController1 als virtual.

    public class concreteController1 : Controller
      {
         public void ersteMethode()
         {
             MessageBox.show("Ich bin die erste Methode");
         }
    
         protected virtual void zweiteMethode()
         {
         }
      }
    
      public class concreteController2 : concreteController1
      {
          public override void zweiteMethode()
          {
              MessageBox.show("Ich bin auch endlich da");
          }
      }
    


  • Danke für den Tipp, ich bin doch ein Hornochse, da hätte ich eigentlich auch selber drauf kommen können 😮, dann erstmal sorry für die dumme Frage


Anmelden zum Antworten