so ist es richtig:
interface Geo { } class Kreis implements Geo { double radius; } class Neben implements Geo { Neben (Geo links, Geo rechts) { .. } }entspricht dem algebraischen Datentyp
data Geo = Kreis { radius :: Double } | Neben { links :: Geo, rechts :: Geo }
Merke:
Haskell (Alg. DT) | Typ | Konstruktor |
OO (Kompositum) | Interface | Klasse |