Verschachtelte Klassen

Wie in vielen objektorientierten Sprachen kann man auch in Scala verschachtetelte Klassen anlegen. Angenommen, es sollte in jedem Widget eine Map für Eigenschaftenwerte geben. Solche Eigenschaften könnten die Größe, die Farbe, die Sichtbarkeit usw. sein. Um diese Eigenschaften aufzunehmen, könnten wir im Prinzip auch eine einfache map verwenden, aber wir wollen zusätzlich den Zugriff auf die Eigenschaften kontrollerien und andere Operationen durchführen, wenn diese sich ändern.

Dieses Beispiel zeigt, wie wir unser ursprüngliches Widget-Beispiel aus dem „Traits als Mixins“ um diese Möglichkeiten erweitern könnten:

// code-examples/BasicOOP/ui/widget.scala

package ui

abstract class Widget {
  class Properties {
    import scala.collection.immutable.HashMap ...

Get Programmieren mit Scala now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.