Первоклассное сообщение
В объектно-ориентированном программировании говорят, что язык программирования имеет первоклассные сообщения или динамические сообщения , если при вызове метода не только принимающий объект и список параметров могут изменяться динамически (т. е. привязываться к переменной или вычисляться как выражение), но и также конкретный вызванный метод.
Типизированные объектно-ориентированные языки программирования, такие как Java и C++ , часто не поддерживают первоклассные методы. [1] Smalltalk поддерживает их только в нетипизированном виде. [2] В Objective-C ( Cocoa ) вы можете использовать NSInvocation для представления первоклассных сообщений таким образом, чтобы их типы учитывались во время выполнения; однако безопасное использование по-прежнему зависит от программиста.
Был достигнут некоторый теоретический прогресс в поддержке первоклассных сообщений типобезопасным образом , но ни одна из предложенных систем не была реализована на языке программирования, возможно, из-за их сложности. [3]
См. также
[ редактировать ]Примечания
[ редактировать ]Ссылки
[ редактировать ]- Сусуму Нисимура (1998). « Статическая типизация динамических сообщений ». ПОПЛ '98 .
- Мишель Буглизи и Сильвия Крафа (1999). «Объектные исчисления для динамических сообщений». ДУРАК 6 .
- Мартин Мюллер и Сусуму Нисимура (2000). « Вывод типа для первоклассных сообщений с ограничениями функций ». Международный журнал основ информатики 11 :1.
- Франсуа Потье (2000). « Универсальная система вывода типов на основе ограничений ». Северный журнал вычислительной техники .
- Паритош Шрофф и Скотт Ф. Смит. « Вывод типов для первоклассных сообщений с функциями сопоставления ».