Encoder: Stein-Schere-Papier-Echse-Spock in OOP

Beitrag lesen

Als statische Methode(n) in die Basisklasse, ja. Damit kommt man dem multiple dispatch schön näher. ;)

Die kann ja auch nicht-statisch sein. Wichtig wäre mir nur dass die Vergleiche nicht jeweils in den einzelnen Klassen ausprogrammiert werden müssen sondern an einer zentralen Stelle.

Auch wenn sich mir noch nicht so ganz erschließt, warum die Basisklasse einer Karte das Vergleichen von Karten als Funktionalität beinhalten sollte.

Die Basisklasse wäre ein Platz wo die Vergleichsmethode einmalig programmiert wird und alle anderen Klassen können drauf zugreifen. Man muss bei einer Erweiterung dann natürlich die Basisklasse mit anpacken. Andernfalls müsste man aber die spezielle Vergleichsmethode in jeder Klasse anpacken, das hat dann nichts mehr von einer einfachen Erweiterung.

Dieses Beispiel ist als Lehrbeispiel schon nicht mehr ganz so simpel, von wegen es gibt eine neue Klasse die dann einfach mit ins bisherige System eingehängt wird ohne dass dieses von der neuen Klasse wissen muss. Hier gibts nämlich Abhängigkeiten untereinander.
Ich würd das zuerst nur mit Schere, Stein, Papier machen. Spock und Echse kann man dann als Erweiterung reinbringen und daran zeigen wie die OO die Sache vereinfacht weil nur bestimmte Dinge angepasst werden müssen und weil man durch Ableitung auf bestehendes zugreifen kann.
Da wäre es fürs Verständnis nicht ratsam, erst zu sagen "geht ganz einfach, hier kommt der Vorteil" und dann muss man aber alle anderen Klassen mit anpacken ;-)

0 55

Stein-Schere-Papier-Echse-Spock in OOP

Matthias Apsel
  • programmiertechnik
  1. 0
    Whouzuo
    1. 0
      T-Rex
      1. 0
        Whouzuo
  2. 0
    T-Rex
    1. 0

      Stein-Schere-Papier-Echse-Spock

      Auge
      • menschelei
  3. 0
    M.
  4. 0
    Encoder
    1. 0
      Matthias Apsel
      1. 0
        Encoder
        1. 0
          Matthias Apsel
          1. 0
            Whouzuo
            1. 0
              Matthias Apsel
              1. 0
                Whouzuo
        2. 0
          Matthias Apsel
  5. 0
    T-Rex
    1. 0
      Whouzuo
      1. 0
        Encoder
        1. 0
          Whouzuo
          1. 0
            Encoder
            1. 0
              Whouzuo
              1. 0
                Encoder
                1. 0
                  Matthias Apsel
                2. 0
                  Whouzuo
                  1. 0
                    Matthias Apsel
                    1. 0
                      Whouzuo
                    2. 0
                      Whouzuo
                      1. 0
                        Matthias Apsel
      2. 0
        Matthias Apsel
        1. 0
          Whouzuo
          1. 0
            Matthias Apsel
            1. 0
              Whouzuo
              1. 0
                Matthias Apsel
                1. 0
                  Whouzuo
                  1. 0
                    Matthias Apsel
              2. 0
                dedlfix
                1. 0
                  dedlfix
                2. 0
                  Whouzuo
      3. 0
        T-Rex
    2. 0
      T-Rex
      1. 0
        Matthias Apsel
  6. 3
    Der-Dennis
    1. 3
      Der-Dennis
      1. 0
        Whouzuo
        1. 0
          Der-Dennis
          1. 0
            Whouzuo
            1. 0
              Der-Dennis
          2. 0

            Stein-Schere-Papier-Echse-Spock in OOP (Teil 2)

            Whouzuo
            1. 0
              Der-Dennis
              • menschelei
    2. 0
      Matthias Apsel
      1. 0
        Der-Dennis
        1. 0
          bubble
          1. 0
            Der-Dennis
        2. 0
          Matthias Apsel
        3. 0
          Matthias Apsel