Sfairadora

Definiční typy

Výše bylo vyloženo, že některé datové typy jsou považovány za základní, nesložené. Je nicméně otázkou úhlu pohledu, které datové typy se budou považovat za základní. Některé datové typy je v některých ohledech výhodnější považovat za skalární v jiných za složené. Proto se zavádí pojem definičního typu. Definiční typ je složený typ, který odpovídá určitému skalárnímu typu. Například ke skalárnímu typu Time (čas) je příslušný složený typ Time_def, který má složky hodiny, minuty a sekundy. Dodržuje se konvence, že definiční typ je pojmenován stejně jako odpovídající skalární typ, k jeho názvu je však připojena koncovka _def. Mezi skalárním typem a jeho definičním typem jsou definovány obousměrné konverze, takže oba typy lze více-méně volně zaměňovat.
Definiční typy jsou dále vytvořeny i pro jednotlivé ovládací prvky (dispely), které se jinak samy nepovažují za datové objekty – k těmto definičním typům tedy nepřísluší skalární typy, ale vždy jeden druh dispelu.