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

Beitrag lesen

Das Beispiel ist anscheinend komplexer als man glauben möchte :-)

Also ich stelle mir vor, die Methode sitzt in der Basisklasse, schaut sich den Typ der aktuellen Karte an ($this) und vergleicht diesen mit einer übergebenen Karte.

Und wie entscheidet sie, welche Karte gewinnt? Wo findet sie diese Information?

Dann musst du aber ggf. eine konkrete Karte instanziieren, obwohl du die gar nicht brauchst.
Wenn man einen Vergleich der Eigenschaften an sich machen wollte ohne eine Karte zu haben, ja. Dann muss was anderes her. Aber am besten nicht gleich nochmal ein neues Konzept.

Doch, genau das. =)
Jedenfalls wenn man es sauber designen will. Das hat dann natürlich schon akademischen Anspruch und "lohnt" sich bei einem Miniprojekt oder einer Schulaufgabe nicht.

Matthias darf jetzt nicht den Fehler machen, ein vollständig ausgefeiltes und in allen Ecken ausprogrammiertes Beispiel zu bringen, bei dem der wirkliche Vorteil von oo völlig untergeht. Da bleibt nämlich vor lauter "warum dieses, warum jenes" bei den Schülern nur ein Eindruck: es ist aufwendig, mehr Code, kompliziert und den Sinn hat vor lauter Details keiner verstanden.

Ich wäre auch dagegen dieses Kartenbeispiel zu nehmen, denn es eignet sich nicht für das einfach Zeigen der Vorteile von OOP. Im Gegenteil, es demonstriert die Schwächen von OOP und die Tatsache, dass für manche Probleme OOP alleine nicht ausreichend ist.

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