# Aufgaben zu OOP



## Arbon (14. Jun 2009)

Hallo
Ich suche ein paar Aufgaben zu OOP, da ich das Gefühl habe dass ich das noch zu wenig nutze bzw. falsch benutze. Könntet ihr mir bitte ein paar nennen?
mfg


----------



## Golem386 (14. Jun 2009)

Google einfach mal nach "OOP Übungen" oder "OOP Übungsaufgaben"
Die für diesen Zweck nicht direkt brauchbaren Erbgebnisseiten musst du halt einfach "aussortieren".
Ich stoße z.B. auf das:
OOP Übungsaufgaben [TSHW Wiki]

MfG, Golem


----------



## Marco13 (14. Jun 2009)

*sich umsieht*
Maus extends Computerzubehör.... Tisch extends Möbelstück.... Schuh implements Anziehbar... Lautsprecher implements Lärmprovider ... Schraubenzieher extends Werkzeug.... 
*nachdenkt*
VierGewinnt extends TwoPlayerGame ... Festplatte implements DataSource...

Ggf. solltest du die Frage präzisieren...


----------



## Golem386 (14. Jun 2009)

Btw, wie wärs mal mit nem Beispielcode von dem was du denkst, dass du es falsch machst?

MfG


----------



## SlaterB (14. Jun 2009)

spricht was gegen
Aufgaben zu OOP java - Google-Suche
?
da findest du z.B. Übungsblätter von Uni-Vorlesungen


----------



## mkEmpty (14. Jun 2009)

Kannst ja mal hier hineinschauen. Aktuelle OOP-Aufgaben


----------



## Golem386 (14. Jun 2009)

Von Aufgaben zu OOP wirst du auch nicht zwangsläufig das Thema verstehen!
Du musst OOP schon verstehen, um es produktiv zu deinem Vorteil nutzen zu können.
Schau dir deshalb lieber mal ein Vorlesungsvideo oder ähnliches zu OOP an, dann brauchst du die Übungen gar nicht mehr

MfG


----------



## Arbon (14. Jun 2009)

also konkret hab ich mal ein etwas größeres projekt (einen dateiexplorer) geschrieben und finde dass ich da ziemlich viel schlecht programmiert habe und da bestimmt einiges durch vernünftige oop vermeiden hätte können. source ist mehrere 1000 zeilen, deshalb würde ich nicht annehmen das sich den wer ansehen würde.


----------



## Marco13 (14. Jun 2009)

Golem386 hat gesagt.:


> Von Aufgaben zu OOP wirst du auch nicht zwangsläufig das Thema verstehen!
> Du musst OOP schon verstehen, um es produktiv zu deinem Vorteil nutzen zu können.
> Schau dir deshalb lieber mal ein Vorlesungsvideo oder ähnliches zu OOP an, dann brauchst du die Übungen gar nicht mehr



Da würde ich mal ganz zurückaltend widersprechen. Natürlich versteht man von Aufgaben alleine nicht das Thema, aber _wirklich_ verstehen kann man das ganze nur, wenn man selbst mal vor einem Problem stand, und das Lösen mußte - und es ggf. auch mal total beschissen gelöst hat (und dann weiß, was man in Zukunft besser machen könnte). Wenn man die Lösungen immer vorgekaut bekommt, denkt man vielleicht "Joa, genau so würde ich das auch machen". Aber das hat mit der Realität nicht viel zu tun. Oder in Anlehung an eine Signatur hier im Forum: "Programmieren lernt man nur durch Programmieren" (und nicht durch Videos gucken....)


----------



## Marco13 (14. Jun 2009)

@Arbon: VIELLEICHT(!) kommen schon ein paar Hilfreiche Tipps, wenn du die abgespeckten Klassen postest - also sowas wie

```
/**
 * 100 Zeilen Kommentar
 */
class Foo
{
    // 100 private Variablen

    /**
     * 100 Zeilen kommentar
     */
    void bar()
    {
        // 100 Zeilen code
    }
}
```
ändern in

```
/**
 * 3 Zeilen Kommentar
 */
class Foo
{
    // 3 private Variablen, die mit get/set zugänglich sind

    /**
     * 3 Zeilen kommentar
     */
    void bar()
    {
        // 0 (!) Zeilen code 
    }
}
```

Oder das ganze mal als kommentiertes UML-Diagramm...


----------



## Golem386 (14. Jun 2009)

Marco13 hat gesagt.:


> Da würde ich mal ganz zurückaltend widersprechen. Natürlich versteht man von Aufgaben alleine nicht das Thema, aber _wirklich_ verstehen kann man das ganze nur, wenn man selbst mal vor einem Problem stand, und das Lösen mußte - und es ggf. auch mal total beschissen gelöst hat (und dann weiß, was man in Zukunft besser machen könnte). Wenn man die Lösungen immer vorgekaut bekommt, denkt man vielleicht "Joa, genau so würde ich das auch machen". Aber das hat mit der Realität nicht viel zu tun. Oder in Anlehung an eine Signatur hier im Forum: "Programmieren lernt man nur durch Programmieren" (und nicht durch Videos gucken....)


Stimmt, aber wie soll man die Aufgaben lösen wenn man das Thema OOP überhaupt nicht versteht?

EDIT: Und besonders bei den Uni-Übungen gibts selten Lösungen. Wie soll man dann wissen, ob die funktionierende Lösung die man erstellt hat überhaupt OOP ist?


----------



## Marco13 (14. Jun 2009)

Marco13 hat gesagt.:


> *Natürlich versteht man von Aufgaben alleine nicht das Thema*, aber ...



"Gesagt bekommen, wie es geht - es selbst versuchen und scheitern - gezeigt bekommen, wie es _wirklich_ gegangen wäre"
Ist so ein üblicher "Zyklus", der aber IMHO nur dann effektiv ist, wenn man es beim zweiten Schritt wirklich _ernsthaft_ versucht.


----------



## Golem386 (14. Jun 2009)

Marco13 hat gesagt.:


> "Gesagt bekommen, wie es geht - es selbst versuchen und scheitern - gezeigt bekommen, wie es _wirklich_ gegangen wäre"
> Ist so ein üblicher "Zyklus", der aber IMHO nur dann effektiv ist, wenn man es beim zweiten Schritt wirklich _ernsthaft_ versucht.



Völlig korrekt, aber man sollte auch den ersten Schritt nicht einfach außen vor lassen. Ohne den wird man beim Zweiten definitiv schreitern und das Konzept der Musterlösung auch nur selten verstehen

@Arbon: Wieviel von OOP verstehst du schon?


----------



## Arbon (14. Jun 2009)

Wie es funktioniert, habe ich eigendlich verstanden (also abstrakte klassen, interfaces, etc.). Bei mir scheitert es meistens bei der Anwendung, dass ich nicht erkenne wo es sinnvoll wäre (sofern es nicht sofort ersichtlich ist).


----------



## Golem386 (14. Jun 2009)

OK, in diesem Fall kannst du wohl gleich zur Übung übergehen.

Vielleicht hilft dir auch dieser Thread:
[Tutor] Help - Where and when to use OOP


----------

