Abstrakte Typen verstehen
Neben den parametrisierten Typen, die in statisch typisierten, objektorientierten Sprachen verbreitet sind, unterstützt Scala auch abstrakte Typen, die eher von den funktionalen Sprachen her bekannt sind. Abstrakte Typen haben wir Ihnen bereits im „Abstrakte Typen und parametrisierte Typen“ vorgestellt.
Die beiden Features überlappen sich gegenseitig etwas. Technisch gesehen, könnte man fast alle Idiome, die von parametrisierten Typen unterstützt werden, auch mithilfe von abstrakten Typen implementieren, und umgekehrt ebenfalls. In der Praxis passen allerdings die beiden Features auf unterschiedliche Designprobleme.
Erinnern Sie sich an unsere Version von Observer
aus Kapitel 6, die abstrakte Typen verwendet:
// code-examples/AdvOOP/observer/observer2.scala ...
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.