bb:redbook:210
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева
Предыдущая версия
|
Следующая версия
Следующая версия справа и слева
|
bb:redbook:210 [2019/07/24 10:07] caufman [2. Абстрактные типы] |
bb:redbook:210 [2019/07/24 10:10] caufman [3. Расширяемые типы] |
==== 3. Расширяемые типы ==== | ==== 3. Расширяемые типы ==== |
Расширяемые типы чем-то похожи на абстрактные. Отличие состоит в том, что тип, описанный как расширяемый, может быть использован сразу: без необходимости наследовать его, прежде чем, создать экземпляр типа. Пример использования представлен ниже: | Расширяемые типы чем-то похожи на абстрактные. Отличие состоит в том, что тип, описанный как расширяемый, может быть использован сразу: без необходимости наследовать его, прежде чем, создать экземпляр типа. Пример использования представлен ниже: |
| MODULE Test_extensible; |
| |
| TYPE |
| tVector = EXTENSIBLE RECORD |
| x: REAL; |
| y: REAL; |
| END; |
| |
| tMyVector1 = RECORD (tVector) |
| z: REAL; |
| END; |
| |
| VAR |
| v: tVector; |
| v1: tMyVector1; |
| |
| BEGIN |
| END Test_extensible. |
Абстрактный тип, также может расширяться в типах-потомках, но не может быть реализован. Далеко не всегда в качестве базового типа необохдимо использовать абстрактный тип. Да и гораздо чаще возникает необходимость расширить существующий тип, чем создавать тип с чистого листа. Стоить отметить, что раз введено такое семантическое свойство, как "расширяемый тип", очевидно, что без ключевого слова EXTENSIBLE тип расширить нельзя. Это поведение типа по умолчанию (как и сокрытие данных). [↑] | Абстрактный тип, также может расширяться в типах-потомках, но не может быть реализован. Далеко не всегда в качестве базового типа необохдимо использовать абстрактный тип. Да и гораздо чаще возникает необходимость расширить существующий тип, чем создавать тип с чистого листа. Стоить отметить, что раз введено такое семантическое свойство, как "расширяемый тип", очевидно, что без ключевого слова EXTENSIBLE тип расширить нельзя. Это поведение типа по умолчанию (как и сокрытие данных). [↑] |
| |
bb/redbook/210.txt · Последнее изменение: 2020/10/29 07:08 (внешнее изменение)