Решение может быть близко к тому, что предлагают модульные языки наподобие Ada или Modula 2, подпрограммы которых можно объединять в модули более высокого уровня. В Ada эти модули называют "пакетами" (package). Если все подпрограммы, использующие группу взаимосвязанных глобальных объектов, собраны в одном пакете, то соответствующие признаки
Механизм "однократных" методов, сохраняя независимость классов, допускает контекстно-зависимую инициализацию.
Строковые константы
Строковые константы (а точнее, разделяемые строковые объекты) объявляются в языках программирования в манифестной форме с использованием двойных кавычек. Это находит отражение в правилах языка, и как следствие любой компилятор предполагает присутствие в библиотеке класса
[x].
[x].
Поэтому строки
Unique-значения и перечислимые типы
Pascal и производные от него языки допускают описание переменной вида
code: ERROR
где
type ERROR = (Normal, Open_error, Read_error)
Переменная
[x]. Статус символических имен не вполне ясен. Могут ли два перечислимых типа иметь общие символические имена (скажем,
[x]. Значения перечислимых типов трудно получать и передавать программам, написанным на других языках, к примеру, C и Fortran, не поддерживающих такое понятие. В тоже время значения, описанные как unique, - это обычные числа, работа с которыми не вызывает никаких проблем.
[x]. Перечислимые типы данных могут требовать специальных операторов. Так, можно представить себе оператор next, возвращающий следующее значение и неопределенный для последнего элемента перечисления. Помимо него потребуется оператор, сопоставляющий элементу целое значение (индекс). В итоге синтаксическое и семантическое усложнение языка кажется непропорциональным вкладу этого механизма.
Объявления перечислимых типов в Pascal и Ada обычно принимают вид:
type FIGURE_SORT = (Circle, Rectangle, Square, ...)
и используются совместно с вариантными полями записей:
FIGURE =
record
perimeter: INTEGER;
... Другие атрибуты, общие для фигур всех типов ...
case fs: FIGURE_SORT of
Circle: (radius: REAL; center: POINT);
Rectangle:... Специальные атрибуты прямоугольника ...;
...
end
end
Этот механизм позволяет организовать разбор случаев в операторе выбора case:
procedure rotate (f: FIGURE)
begin case f of
Circle:... Специальные операции поворота окружности ...;
Rectangle:...;
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии