Открытая коллекция знаний

OpenU.Ru

Справочник UML. Объектно-ориентированное проектирование.

data type (тип данных)

Дескриптор множества значений, не обладающих индивидуальностью, которая выражается в независимости существования. Типы данных могут быть примитивными (предопределенными) или определяться пользователем. К числу примитивных типов относятся числа, строки и время. Типы, определимые пользователем, - это перечисления. Анонимные типы данных, которые предназначены для реализации системы в программном коде, можно определить с помощью типов языка программирования.
См. classifier; identity.

Семантика

Типы данных являются предопределенными примитивами, которые используются как основа для типов, определяемых пользователем. Их семантика описывается математически, вне механизмов построения типов в языке. Числа (целые и вещественные) являются предопределенными. Строки тоже определяются заранее. Все эти тины данных не относятся к тем, которые определяются пользователем.
Типы перечислений являются конечными множествами именованных элементов, определяемых пользователем. Они обладают упорядоченностью, однако никаких других вычислительных свойств у них нет. Тип перечисления обладает именем и списком констант. Так, тип Boolean (логический) представляет собой предопределенное перечисление. Его литеральными константами являются false (ложный) и true (истинный).
Для типов данных можно определять операции; также операции могут принимать типы данных в качестве параметров. Типы данных не имеют индивидуальности, представляя собой только значение, поэтому операции, которые над ними производятся, не изменяют их, а лишь возвращают некоторые значения. Нельзя говорить о создании нового значения типа данных, поскольку типы данных не имеют индивидуальности. Все значения типов данных (концептуально) предопределены. Операция над типом данных - это запрос, который не может изменить состояние системы, а только возвращает значение.
Тип данных можно также описать с помощью языковою типа, то есть выражением для типа данных, принятым в языке программирования. Такое выражение будет обозначать анонимный тип данных в целевом языке программирования. Например, выражение Person* (*) (String) указывает на выражение для типа данных, существующее в языке C++, имя которого не соотносится с каким-либо простым типом данных.

Алфавитный указатель