Книга: Основы объектно-ориентированного программирования
Статическая типизация (static typing)
Статическая типизация (static typing)
Когда в системе происходит вызов некоторого компонента определенным объектом, как узнать, что объект способен обработать вызов? (В терминологии сообщений: как узнать, что объект может обработать сообщение?)
Чтобы гарантировать корректное выполнение, язык должен быть типизирован. Это означает, что он отвечает нескольким правилам совместимости:
[x]. Каждая сущность (entity) объявляется явным образом с указанием определенного типа, порожденного классом. Под сущностью понимается имя, используемое в тексте ПО для ссылки на объекты времени выполнения.
[x]. Каждый вызов компонента - это вызов доступного компонента соответствующего класса.
[x]. Присваивание и передача аргументов подчиняются правилам согласования, требующим совместимости исходного типа и целевого типа.
В языке, включающем такую политику, возможен статический контроль типов. Тогда еще на этапе компиляции подобные ошибки будут обнаружены, и во время выполнения гарантируется отсутствие ошибок типа: "компонент недоступен объекту".
Хорошо определенная система типов гарантирует безопасность работы с объектами во время выполнения программной системы.
- Бесшовность (seamlessness)
- Классы
- Утверждения (Assertions)
- Классы как модули
- Классы как типы
- Вычисления, основанные на компонентах
- Скрытие информации (information hiding)
- Обработка исключений (Exception handling)
- Статическая типизация (static typing)
- Универсальность (genericity)
- Единичное наследование (single inheritance)
- Множественное наследование (Multiple inheritance)
- Дублируемое наследование (Repeated inheritance)
- Ограниченная универсальность (Constrained genericity)
- Переопределение (redefinition)
- Полиморфизм
- Динамическое связывание
- Выяснение типа объекта в период выполнения
- Отложенные (deferred) свойства и классы
- Управление памятью (memory management) и сборка мусора (garbage collection)
- Типизация и повторное объявление
- КЛЮЧЕВЫЕ СЛОВА: auto, extern, static, register
- 16.2.3. Static Kernel Command Line
- Типизация: слагаемые успеха
- 3.1.10 Static Variables
- 4.1.6 Static Function Variables
- Static IPX Routing Using the ipx_route Command
- Configuring a static IP addresses
- Implicit Typing
- Static Classes
- Static iframe Tab
- Лекция 17. Типизация