Ileyan Al Jaaf 2024-06-04 20:35:33 +02:00
commit ee1f1548a4
2 changed files with 45 additions and 2 deletions

View File

@ -177,3 +177,45 @@ manager.employees.each { println it }
println("\nHigh Earners:")
highEarners.each { println it }
```
## Klausuraufgaben
### 1. Was ist ein Default-Konstruktor?
Lösung
Groovy fügt automatisch einen Standardkonstruktor hinzu, wenn keine Konstruktoren explizit
definiert sind. Dieser Konstruktor initialisiert alle Eigenschaften der Klasse mit ihren
Standardwerten.
### 2. Folgende Klasse ist vorgegeben:
```
class Person {
String name
int age
}
```
### Initialisieren Sie eine Instanz der Klasse Person mit Attributen "John" und 25.
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. Wie iteriert man über eine Map in Groovy und was gibt die each Methode zurück? Beipiel?
Lösung
Man iteriert über eine Map mit der each Methode. Diese Methode gibt jedes Key-Value-Paar der
Map zurück.
```
def myMap = ['subject': 'groovy', 'topic': 'closures']
myMap.each { key, value -> println "$key: $value" }
```

View File

@ -71,6 +71,7 @@ Groovy bietet eine spezielle Initialisierungsform mit einer Map an. Dieser Konst
ermöglicht Objekte einfach und übersichtlich zu initialisieren, indem die Eigenschaften
des Objekts direkt in Form von Schlüssel-Wert-Paaren in der Map angegeben werden.
Groovy kümmert sich dann um die Zuordnung der Werte zu den entsprechenden Feldern der Klasse.
Der Map-Konstruktor muss nicht explizit definiert werden (hier nur als Beispiel), da es ein eingebautes Standard-Feature von Groovy ist.
```
class Person {
String name
@ -176,7 +177,7 @@ sum(5,2)
### Instanzmethoden
Methoden können Instanzmethoden sein und auf Instanzvariablen zugreifen.
Methoden können Instanzmethoden sein und auf Instanzvariablen zugreifen, indem man $-Zeichen und optional eckige Klammern nutzt.
```
class Person {
@ -185,7 +186,7 @@ class Person {
// Instanzmethode, um die Person vorzustellen
def introduce() {
println("Hello, my name is ${name} and I am ${age} years old.")
println("Hello, my name is $name and I am ${age} years old.")
}
}