# 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 ```