====== Klassen und Methoden ====== **Kapitel 2** im Buch, Seiten 51-96. Den für die Übungen dieses Kapitels nötigen Beispielcode findest du hier: * [[https://codeberg.org/qg-info-unterricht/jlmb-naiver-ticketautomat|Naiver Ticketautomat]] * [[https://codeberg.org/qg-info-unterricht/jlmb-besserer-ticketautomat|Besserer Ticketautomat]] * [[https://codeberg.org/qg-info-unterricht/jlmb-buch-aufgabe|Aufgabe 2.83 "Buch"]] ===== Zentrale Konzepte: ===== * **Objekterzeugung**: Manche Objekte benötigen weitere Infos, um sie zu instanziieren. * **Datenfeld**: Was versteht man unter einem Datenfeld? Warum ist die Bezeichnung "Instanzvariable" eine gute Benennung? * **Kommentar**: Wie bringt man Kommentare an, warum mache die Sinn (auch wenn man es kaum glauben mag...) * **Konstruktor**: Was gibt es über Konstruktoren zu wissen? * **Sichtbarkeit/Lebensdauer** von Variablen: Was versteht man unter der "Sichtbarkeit" einer Variablen, was unter der "Lebensdauer"? * **Zuweisung**: Was ist eine Wertzuweisung? Was passiert da im Hauptspeicher des Rechners? * **Signatur**: Worauf bezieht sich der Begriff "Signatur"? * **Sondierende/Verändernde** Methode: Was versteht man sondierenden/verändernden Methoden. manche Leute nenne die etwas despektierlich "Getter" und "Setter" - passt das? * **Bedingte Anweisung**: Was ist eine bedingte Anweisung, wie sieht diese syntaktisch in Java aus. * Was ist ein **Boolscher Ausdruck**? * **Lokale Variable**: Was ist eine lokale Variable, was kann man über ihre Sichtbarkeit und Lebensdauer sagen? ---- {{:aufgabe.png?nolink |}} === (A1) === Bearbeite die Aufgabe 2.83 bis 2.92 auf Seite 94f * //Wenn du mit Git arbeitest:// Klone das [[https://codeberg.org/qg-info-unterricht/jlmb-buch-aufgabe|Repo zur Buch Aufgabe]], erstelle ein eigenes Repo, ändere den origin und pushe den Ausgangszustand. Ohne Git: [[https://codeberg.org/qg-info-unterricht/jlmb-buch-aufgabe|Lade die Projektdateien]] herunter und entpacke Sie. * Bearbeite die Aufgaben. //Wenn du mit Git arbeitest:// Erstelle für jede Zwischenlösung (jede Lösung einer Aufgabe) einen Commit. Pushe dein Ergebnis. ---- {{:aufgabe.png?nolink |}} === (A2) === Bearbeite die Aufgabe 2.93 und 2.94. //Wenn du mit Git arbeitest:// Lege ein Repo an, in dem du deine Lösungen ablegst. ===== Material ===== {{simplefilelist>:faecher:informatik:oberstufe:bluej:kap02:*}}