Лекция 20 (лекции (2002)), страница 3
Описание файла
Файл "Лекция 20" внутри архива находится в папке "лекции (2002)". Документ из архива "лекции (2002)", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "Лекция 20"
Текст 3 страницы из документа "Лекция 20"
Иногда полезно просто узнать, принадлежит ли объект данному типу. В языке Delphi есть ключевое слово is.
e is T
В языке Java вместо ключевого слова is ключевое слово instanceof. Смысл тот же, что и динамической проверки типа.
В языке Delphi есть еще оператор присоединения, который ведет себя точно также как групповой страж типа в языке Оберон. (В Delphi, как и в Паскале, в отличие от всех других языков, о которых мы говорили, не различаются маленькие и большие буквы)
with t as T1 do
begin
…
end
Происходит динамическая проверка типа, и, если она не проходит, выдается сообщение об ошибке. Нам не нужно писать все время T1(t). Можно писать нечто типа
e:= t as T1; - аналог dinamic_cast из С++
e:= T1(t); - аналог static_cast из С++
Т.е. на Delphi тоже есть возможность программировать чуть более эффективно.
Delphi, Java, C# обладают достаточно мощным дополнительным средством идентификации типа, поскольку у них есть базисный класс (TObject или Object), который содержит в себе много методов выдачи информации о типе. Например, у типа Object обязательно есть метод, который выдает название типа, и может быть метод, который позволяет более гибко динамически его идентифицировать.