groovy-lecture/aufgaben/yuliya_klausuraufgaben.md

1.1 KiB

Klausuraufgaben

1. Welche Ausgabe hat der Code?

class Person {
    String name
    int age
    }
    
Person person = new Person()
println (person.name)
println (person.age)

Lösung

null
0

2. Initialisieren Sie eine Instanz der Klasse Person (s.unten) mit den Attributen "John" und 25, indem Sie eine Map verwenden.

class Person {
    String name
    int age
    }

Lösung

Person person = new Person(name: "John", age: 20)

3. Was ist ein Mixin in Groovy und wie wird es verwendet?

Lösung

Ein Mixin ermöglicht das Hinzufügen von Funktionalität zu Klassen ohne Vererbung. Es wird mit der @Mixin Annotation verwendet.

4. Schreibe eine Funktion makeMultiplier, die eine Zahl n als Argument nimmt und eine Closure zurückgibt, die eine Zahl mit n multipliziert.

def makeMultiplier(n) {
    // TODO
}

def multiplierOf3 = makeMultiplier(3)
println(multiplierOf3(5))  // Erwartete Ausgabe: 15

Lösung

def makeMultiplier(n) {
    return {it * n}
}

def multiplierOf3 = makeMultiplier(3)
println(multiplierOf3(5))  // Erwartete Ausgabe: 15