Transferieren Sie Ihre Kenntnisse der in LU05 erarbeiteten Python-Features in die Programmiersprachen Java und/oder JavaScript.
Ihr Ziel ist es, die in LU05 erarbeiteten Konzepte (Verwendung von *args
und **kwargs
, innere und äußere Funktionen, Closures, Decorators) in einer anderen Programmiersprache (Java oder JavaScript) anzuwenden.
Variadic Functions (Äquivalent zu *args in Python):
public static void printNumbers(int... numbers) { for (int number : numbers) { System.out.print(number + " "); } }
Innere Klassen (Äquivalent zu inneren Funktionen in Python):
public class OuterClass { class InnerClass { // ... } }
Annotations (Äquivalent zu Decorators in Python):
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface MyDecorator { String value(); } public class MyClass { @MyDecorator("Hello, world!") public void myMethod() { // ... } }
Rest Parameters (Äquivalent zu *args in Python):
function printNumbers(...numbers) { console.log(numbers); }
Closures:
function outer() { let x = 10; function inner() { console.log(x); } return inner; }
Function Decorators:
function decorator(func) { return function() { console.log("Before"); func(); console.log("After"); } }