Claire

Objektum-orientált programozás

Objektum-orientált programozás

Az osztályok fába szervezhetőek. Minden osztály egy másiknak a leszármazottja, amelyet superclass-nak nevezünk. Csak egyszeres öröklődés van. A leszármazott osztály örökli a superclass struktúráját. A legősibb osztály az any osztály, ez található a fa gyökerében.

Az öröklődésnél meg kell adni a superclass-t, illetve az új attribútumok listáját. Két típusú osztályt hozhatunk létre: named és unnamed osztályokat. A named osztályokat a thing osztályból kell származtatni közvetlenül vagy közvetve.

Az attribútumok formája <name> : <range>= <default> alakú. A default érték nem kötelező. A felhasznált típust előtte deklarálni kell. Példák:

person <: thing person <: thing(age : integer = 0, father : person) woman <: person man <: person(wife : woman) woman <: person(husband : man) child <: person(school : string) complex <: object(re : float, im : float)

Létrehozhatunk absztrakt illetve konstans osztályokat is. Az absztrakt osztálynak nem lehetnek példányai, csak a leszármazottainak. Létrehozása:

abstract(person)

A konstans osztálynak viszont nem lehetnek leszármazottai, amely a fordító számára is hasznos lehet optimalizálás szempontjából. Létrehozása:

final(colors)