groovy-lecture/yuliya/klausuraufgaben.md

61 lines
1.1 KiB
Markdown

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