s n h m r u

Minimallogo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

s n h m r u
i

Übungen

Aufgabe 1 - Person

Es soll eine Klasse Person erstellt werden. Eine Person hat einen Namen, ein Alter, ein Hobby und ist volljährig oder nicht. Außerdem hat sie eine Alterskategorie (Kind, Jugendlich, Erwachsen, Senior). Eine Person kann sich vorstellen und gibt dabei alle relevanten Informationen aus.

(a) Erstelle ein Klassendiagramm für die Klasse Person. Entscheide dabei,

  • welche Parameter der Konstruktor haben soll.
  • ob es berechnete Eigenschaften - also computed properties - gibt.
  • welche Attribute veränderbar (var) oder unveränderbar (val) sind.
  • welche Getter und Setter benötigt werden.

(b) Implementiere die Klasse Person in Kotlin und schreibe ein Testprogramm, in dem du mindestens drei Personen erstellst und deren Attribute und Methoden aufrufst. Teste auch ein negatives Alter und die Grenzen deiner Alterskategorien. Prüfe nach einer Altersänderung, ob die abgeleiteten Attribute sofort passen.

Aufgabe 2 - Tier-Klasse

Analysiere die Klasse Tier aus dem Projekt Tierisch glücklich. Überlege, wie die Klasse mit Hilfe von Gettern, Settern und computed properties verbessert werden könnte.

Erstelle ein Klassendiagramm und passe die Implementierung der Klasse entsprechend an.

class Tier(val name: String) {
    var energie = 5
    var glueckslevel = 10

    fun langweilen() {
        energie = energie - 1
        glueckslevel = glueckslevel - 2
    }

    fun spielen() {
        energie = energie - 1
        glueckslevel = glueckslevel + 2
    }

    fun fuettern(menge: Int) {
        if (energie + menge > 10) {
            energie = 10
        } else {
            energie = energie + menge
        }
    }

    fun istGluecklich(): Boolean {
        if (glueckslevel >= 20) {
            return true
        } else {
            return false
        }
    }

    fun istTraurig(): Boolean {
        if (glueckslevel <= 0) {
            return true
        } else {
            return false
        }
    }

    fun istVerhungert(): Boolean {
        if (energie <= 0) {
            return true
        } else {
            return false
        }
    }
}

Aufgabe 3 - Lautsprecher

Eine Klasse Lautsprecher soll folgende Eigenschaften besitzen:

  • Eine Bezeichnung, die gelesen und verändert werden kann.
  • Eine Lautstärke zwischen 0 und 100. Ungültige Werte sollen entweder ignoriert oder auf eine gültige Grenze gesetzt werden. Entscheide dich für eine der beiden Möglichkeiten.
  • Die Eigenschaft istStumm, die genau dann true liefert, wenn die Lautstärke 0 ist. Sie soll nicht unabhängig von der Lautstärke geändert werden können.

(a) Ordne jeder Eigenschaft einen der drei Standardfälle zu: automatische Getter und Setter, eigener Setter oder abgeleitetes Attribut mit eigenem Getter. Begründe deine Zuordnung.

(b) Zeichne ein Klassendiagramm und implementiere die Klasse in Kotlin. Lege selbst einen sinnvollen Startwert für die Lautstärke fest.

(c) Teste gültige und ungültige Lautstärken sowie die Grenzen 0 und 100. Prüfe nach jeder Änderung auch istStumm.

Aufgabe 4 - Logische Ausdrücke interpretieren

Gehe von folgender Variablenbelegung aus und ordne die Ausdrücke zu. Du kannst die Ausdrücke bei Bedarf online testen.

fun main() {
    val a = 5
    val b = 7
    val infoIstToll = true

    //print(a < b)
}

Suche

v
100.123.3.5 Übungen
Kopieren durch Anklicken

Rückmeldung geben