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 |