Quantcast
Channel: Thorsten Maier – techscouting through the java news
Viewing all articles
Browse latest Browse all 44

Class enhancement auf der JVM

$
0
0

Jeder Java-Entwickler hatte wahrscheinlich schon einmal den Wunsch, Mehrfachvererbung einzusetzen. Auch wenn es gute Gründe dagegen gibt, könnte der Einsatz der Mehrfachvererbung oftmals die Duplizierung von Quellcode verhindern. Denn selbst wer Delegation anstatt der Mehrfachvererbung einsetzt, muss zumindest die Methodensignaturen duplizieren.

Dabei gibt es auch auf der JVM die Möglichkeit, Klassen um zusätzliche Methoden anzureichern. Dies ermöglicht zumindest eine eingeschränkte Art der Mehrfachvererbung. Grundsätzlich wird dabei eine beliebige Klasse um zusätzliche Methoden einer anderen Klasse erweitert. Der grundlegende Unterschied zur Mehrfachvererbung besteht darin, dass die Klasse, die um Methoden erweitert wird, selbst nicht auf die zusätzlich hinzugefügten Methoden zugreifen kann. Dadurch können die Probleme, die bei der Mehrfachvererbung auftreten können, vermieden werden. Dieses grundlegende Konzept ist sowohl bei Spring AOP, als auch bei Groovy und Scala unter verschiedenen Namen umgesetzt:


Einsortiert unter:Groovy and Grails, Java Runtimes - VM, Appserver & Cloud, Other languages for the Java VM, Spring Universe Tagged: AOP, Groovy, Mixin, Scala, spring, Trait

Viewing all articles
Browse latest Browse all 44

Trending Articles