Merge branch 'main' of https://gitty.informatik.hs-mannheim.de/3003916/groovy-lecture
commit
ee1f1548a4
|
@ -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" }
|
||||
```
|
||||
|
|
|
@ -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.")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue