====== 2. Klassen - selbstgemacht! ====== ===== Aufgabe ===== {{ :schule:klassen:2017:10b:haus_zeichenfenster_.png|}} Erstelle eine Klasse Haus, die ein Haus zeichnet und die Methoden tuerAuf(), tuerZu() und verschieben(double dx, double dy) besitzt! \\ \\ **Übung:** \\ Füge rechts oberhalb der Türe eine runde Lampe hinzu sowie die Methoden lampeEin() und lampeAus(). \\ \\ **Zusätzliche Herausforderung:** \\ Erstelle eine Methode drehen(double winkel), die das Haus um den angegebenen Winkel dreht. \\ \\ Hier die {{ :schule:klassen:2017:10b:arbeitsblatt_klasse_haus_mit_anmerkungen.pdf |Lösung als kommentierte pdf-Datei}}. {{ :schule:klassen:2017:10b:arbeitsblatt_klasse_haus_mit_anmerkungen.png?800 |}} ===== Genaue Differenzierung: Deklaration - Instanzierung - Zuweisung ===== **Deklaration, Instanzierung:** {{ :schule:klassen:2017:10b:deklaration_instanzierung_zuweisung.png?800 |}} ** Zuweisung:** {{ :schule:klassen:2017:10b:deklaration_instanzierung_zuweisung_b_.png?800 |}} ===== UML-Klassendiagramm ===== {{ :schule:klassen:2017:10b:haus_uml_klassendiagramm.png |}} ===== Wichtige Konventionen ===== * Klassenbezeichner: 1. Buchstabe groß * Methodenbezeichner, Attributbezeichner: 1. Buchstabe klein * Sprechende Bezeichner: Nicht ''rechteck1'', ''rechteck2'', … , sondern ''tuer'', ''wand'', … * Keine Umlaute in Bezeichnern verwenden * CamelCase nutzen! * Großzügig mit Platz umgehen -> Leerzeilen lassen! * Sinnvoll einrücken! * Englisch ist unter Programmieren gern gesehen