Турбо Паскаль 6.0

Вопрос: В/В объектов.


Как программист на Паскале Вы знаете, что до того, как Вы сможете выполнять В/В, Вы должны сказать компилятору какой тип данных Вы будете читать или писать в файл. Файл должен быть типированным и тип должен быть определен во время компиляции. Turbo Pascal реализует очень полезное исключение из этого правила: доступ к нетипированному файлу через BlockWrite и BlockRead. Но обход проверки типов создает для программиста определенные сложности, хотя позволяет ему выполнять очень быстрый двоичный В/В. Вторая проблема в том, что Вы не можете использовать файлы прямо с объектами. Turbo Pascal не позволяет Вам создать файл типа объекта. И поскольку объекты могут содержать виртуальные методы, адрес которых определяется во время выполнения, сохранение информации VMT вне программы бессмысленно; чтение такой информации в программу еще более бессмысленно. Вы можете обойти эту проблему. Вы можете скопировать данные из Ваших объектов и сохранить эту информацию в файле, а затем заново построить объекты из этих данных. Но это не элегантное решение и усложняет создание объектов.



Содержание раздела