Selbstkontrolle Objektorientierte Programmierung 1: Unterschied zwischen den Versionen
Drlue (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Drlue (Diskussion | Beiträge) |
||
| (13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
== Zeitlicher Ablauf == | == Zeitlicher Ablauf == | ||
1,5 Stunden | |||
== Viel Spaß und Erfolg == | == Viel Spaß und Erfolg == | ||
| Zeile 12: | Zeile 12: | ||
# Klicke auf '''Get from VCS''' | # Klicke auf '''Get from VCS''' | ||
## Version control: '''Git''' | ## Version control: '''Git''' | ||
## URL: '''https://gitlab.drlue.at/digitalcampus/codingcampus_2021.09.selbstkontrolle.git''' | ## URL: '''https://gitlab.drlue.at/digitalcampus/codingcampus_2021.09.selbstkontrolle.oop.i.git''' | ||
## Clone | ## Clone | ||
== Abgabe == | == Abgabe == | ||
# | # File | ||
# Export | |||
# Export to zip file | |||
# [vorname]_[nachname]_selbstkontrolle_II.zip | |||
# Zip an Lukas senden | |||
{{TOC limit|4}} | {{TOC limit|4}} | ||
== Wiederholung == | |||
Wiederholung zur strukturierten Programmierung. | |||
==== Aufgabe 1) ==== | ==== Aufgabe 1) ==== | ||
Siehe Package: '''at/digitialcampus/codingcampus/oop/ | Siehe Package: '''at/digitialcampus/codingcampus/repetition/excercise1''' | ||
Erstelle folgend die '''Klasse''' '''Person'''. Diese '''Klasse''' soll die '''Attribute''' '''Name''', '''Age''' und | Lies einen {{JSL|String}} vom Benutzer ein (ganze Zeile) und einen {{JSL|int}}. Die Zahl besagt wie oft der {{JSL|String}} ausgegeben werden soll. Wird ein leerer {{JSL|String}} oder eine ungültiger {{JSL|int}} eingegeben, so soll die Eingabe erneut erfolgen. | ||
'''Eingabe''' | |||
{{BML|code= | |||
Bitte geben Sie einen Text ein: | |||
>> Heute wird ein guter Tag | |||
Wie oft soll der Text ausgegeben werden: | |||
>> 3 | |||
}} | |||
'''Ausgabe''' | |||
{{BML|code= | |||
Heute wird ein guter Tag | |||
Heute wird ein guter Tag | |||
Heute wird ein guter Tag | |||
}} | |||
== OOP == | |||
==== Aufgabe 2) ==== | |||
Siehe Package: '''at/digitialcampus/codingcampus/oop/excercise2''' | |||
Erstelle folgend die '''Klasse''' '''Person'''. Diese '''Klasse''' soll die '''Attribute''' '''Name''', '''Age''' und '''Gender''' besitzen (Name, Alter, Geschlecht). Für das '''Geschlecht''' ist ein '''enum''' zu erstellen (''female'', ''male'', ''divers''). | |||
Erstelle '''getter''' und '''setter''' für alle '''Attribute'''. | Erstelle '''getter''' und '''setter''' für alle '''Attribute'''. | ||
| Zeile 31: | Zeile 58: | ||
Erstelle mindestens 6 verschiedene Person in der {{JSL|main}} '''Methode''' und gib diese aus. | Erstelle mindestens 6 verschiedene Person in der {{JSL|main}} '''Methode''' und gib diese aus. | ||
==== Aufgabe | ==== Aufgabe 3) ==== | ||
Siehe Package: '''at/digitialcampus/codingcampus/oop/ | Siehe Package: '''at/digitialcampus/codingcampus/oop/excercise3''' | ||
Erstelle folgend die '''Klasse''' '''House'''. Ein Haus hat die '''Attribute''' ''' | Erstelle folgend die '''Klasse''' '''House'''. Ein Haus hat die '''Attribute''' '''Doors''', '''Windows''', '''Address''' (Türen, Fenster, Adresse) und eine {{JSL|List}} von '''Person'''. Verwende dafür die '''Person''' aus dem vorhergehenden Beispiel. Die '''Klasse''' '''House''' soll weiters die '''Methode''' {{JSL|addPerson(Person person)}} enthalten um Personen hinzuzufügen. Erstelle '''getter''' und '''setter''' für alle '''Attribute'''. | ||
Überschreibe nun {{JSL|toString()}} und gib alle relevanten Informationen vom Haus zurück. Dazu gehören auch die Personen die darin leben (verwende {{JSL|toString()}} von {{JSL|Person}}. | Überschreibe nun {{JSL|toString()}} und gib alle relevanten Informationen vom Haus zurück. Dazu gehören auch die Personen die darin leben (verwende {{JSL|toString()}} von {{JSL|Person}}. | ||
| Zeile 39: | Zeile 66: | ||
Erstelle mindestens 3 verschiedene Häuser in der {{JSL|main}} '''Methode''', füge einige Personen hinzu, und gib dann das Haus aus. | Erstelle mindestens 3 verschiedene Häuser in der {{JSL|main}} '''Methode''', füge einige Personen hinzu, und gib dann das Haus aus. | ||
==== Aufgabe | ==== Aufgabe 4) ==== | ||
Siehe Package: '''at/digitialcampus/codingcampus/oop/ | Siehe Package: '''at/digitialcampus/codingcampus/oop/excercise4''' | ||
Erstelle eine '''Klasse''' '''SortedHouse''' welche von {{JSL|House}} aus dem vorhergehenden | Erstelle eine '''Klasse''' '''SortedHouse''' welche von {{JSL|House}} aus dem vorhergehenden Beispiel erbt. Überschreibe {{JSL|addPerson(Person person)}} und sortiere, nach dem '''Namen''', entweder die {{JSL|List}} nach dem Einfügen der {{JSL|Person}} oder füge diese direkt an der richtigen Stelle ein. | ||
Erstelle mindestens 3 verschiedene Häuser in der {{JSL|main}} '''Methode''', füge einige Personen hinzu, und gib dann das Haus aus. | Erstelle mindestens 3 verschiedene Häuser in der {{JSL|main}} '''Methode''', füge einige Personen hinzu, und gib dann das Haus aus. | ||
Aktuelle Version vom 15. November 2021, 07:46 Uhr
Zeitlicher Ablauf
1,5 Stunden
Viel Spaß und Erfolg
Vorbereitung
- Öffne IntelliJ
- Schließe das bestehende Projekt
- File
- Close Project
- Nun solltest du den Welcome Screen von IntelliJ sehen
- Klicke auf Get from VCS
- Version control: Git
- URL: https://gitlab.drlue.at/digitalcampus/codingcampus_2021.09.selbstkontrolle.oop.i.git
- Clone
Abgabe
- File
- Export
- Export to zip file
- [vorname]_[nachname]_selbstkontrolle_II.zip
- Zip an Lukas senden
Wiederholung
Wiederholung zur strukturierten Programmierung.
Aufgabe 1)
Siehe Package: at/digitialcampus/codingcampus/repetition/excercise1
Lies einen String vom Benutzer ein (ganze Zeile) und einen int. Die Zahl besagt wie oft der String ausgegeben werden soll. Wird ein leerer String oder eine ungültiger int eingegeben, so soll die Eingabe erneut erfolgen.
Eingabe
Bitte geben Sie einen Text ein:
>> Heute wird ein guter Tag
Wie oft soll der Text ausgegeben werden:
>> 3
Ausgabe
Heute wird ein guter Tag
Heute wird ein guter Tag
Heute wird ein guter Tag
OOP
Aufgabe 2)
Siehe Package: at/digitialcampus/codingcampus/oop/excercise2
Erstelle folgend die Klasse Person. Diese Klasse soll die Attribute Name, Age und Gender besitzen (Name, Alter, Geschlecht). Für das Geschlecht ist ein enum zu erstellen (female, male, divers).
Erstelle getter und setter für alle Attribute.
Überschreibe weiters toString() und erstelle einen String der alle relevanten Informationen enthält.
Erstelle mindestens 6 verschiedene Person in der main Methode und gib diese aus.
Aufgabe 3)
Siehe Package: at/digitialcampus/codingcampus/oop/excercise3
Erstelle folgend die Klasse House. Ein Haus hat die Attribute Doors, Windows, Address (Türen, Fenster, Adresse) und eine List von Person. Verwende dafür die Person aus dem vorhergehenden Beispiel. Die Klasse House soll weiters die Methode addPerson(Person person) enthalten um Personen hinzuzufügen. Erstelle getter und setter für alle Attribute.
Überschreibe nun toString() und gib alle relevanten Informationen vom Haus zurück. Dazu gehören auch die Personen die darin leben (verwende toString() von Person.
Erstelle mindestens 3 verschiedene Häuser in der main Methode, füge einige Personen hinzu, und gib dann das Haus aus.
Aufgabe 4)
Siehe Package: at/digitialcampus/codingcampus/oop/excercise4
Erstelle eine Klasse SortedHouse welche von House aus dem vorhergehenden Beispiel erbt. Überschreibe addPerson(Person person) und sortiere, nach dem Namen, entweder die List nach dem Einfügen der Person oder füge diese direkt an der richtigen Stelle ein.
Erstelle mindestens 3 verschiedene Häuser in der main Methode, füge einige Personen hinzu, und gib dann das Haus aus.