61 lines
1.1 KiB
Markdown
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
|
|
```
|