Принципы объектно-ориентированного программирования




ГЛАВА 4 Система типов


    ГЛАВА 4 Система типов
    ГЛАВА 4 Система типов Любая сущность — объект. Размерные и ссылочные типы. Размерные типы. Ссылочные типы. Упаковка и распаковка. Корень всех типов: System.Object. Типы и псевдонимы. Приведение ти...
    Любая сущность — объект
    Любая сущность — объект В большинстве объектно-ориентированных языков есть две отдельных категории типов: базисные (primitive types), т. е. присущие языку, и классы — типы, которые может создать п...
    Размерные и ссылочные типы
    Размерные и ссылочные типы Концепция создания языка, где любая сущность является объектом, не нова. Такие попытки предпринимались, например, в SmallTalk. Самым большим недостатком представления вс...
    Размерные типы
    Размерные типы Если некоторая переменная имеет размерный тип, она содержит реальные данные. Так что первое правило для размерных типов таково: они не могут быть null. Ниже, например, я на С# выдел...
    Ссылочные типы
    Ссылочные типы Ссылочные типы похожи на ссылки в C++, где они являются указателями, привязанными к типам (type-safe pointers). Это значит, что ссылка (если она не равна null) — это не просто адрес...
    Упаковка и распаковка
    Упаковка и распаковка Как же эти различные категории типов обеспечивают более эффективную работу системы? Это делается с помощью упаковки (boxing). В простейшем случае при упаковке размерный тип п...
    Корень всех типов: System.Object
    Корень всех типов: System.Object Как я уже говорил, в конечном счете все типы происходят от типа System.Object, что позволяет гарантировать наличие у каждого типа минимального набора функциональны...
    Открытые методы типа System.Object
    Табл. 4-1. Открытые методы типа System.Object. Метод Описание bool Equals() Сравнивает две ссылки на объекты в период выполнения, чтобы определить, указывают ли они в точности один и тот же объект...
    Защищенные методы типа System.Object
    Табл. 4-2. Защищенные методы типа System.Object. Метод Описание void Finalize() Вызывается в период выполнения для освобождение ресурсов перед сбором мусора. Этот метод можно вызывать, а можно и н...
    Типы и псевдонимы
    Типы и псевдонимы В то время как CTS отвечает за определение типов, которые могут использоваться в различных языках .NET, для большинства языков было решено реализовать псевдонимы для этих типов....
    Типы, определенные в CTS, и их псевдонимы
    Табл. 4-3. Типы, определенные в CTS, и их псевдонимы. Тип СТS Имя псевдонима С# Описание System. Object object Базовый класс для всех типов CTS System. String string Строка System. SByte sbyte 8 -...
    Приведение типов
    Приведение типов Сейчас мы рассмотрим один из самых важных аспектов типов — приведение. Допустим, существует базовый класс под названием Employee и производный класс ContractEmployee. Следующий ко...
    Пространства имен
    Пространства имен Пространства имен (namespaces) используются в С#-приложениях для определения области видимости. Объявив пространство имен, разработчик может дать С#-приложению иерархическую стру...
    Примечание
    Примечание Там, где это возможно, рекомендуется использовать имя компании в качестве корня пространства имен, чтобы гарантировать его уникальность. О правилах именования см. главу 3....
    Ключевое слово using
    Ключевое слово using Иногда у вас может возникнуть желание использовать для некоторого типа полностью квалифицированное имя в форме пространство_имен. -тип. Однако это скорее всего утомительно и п...
    Преимущества использования CTS
    Преимущества использования CTS Одна из ключевых функций любого языка или среды периода выполнения — поддержка типов. Язык, в котором доступно ограниченное число типов или который ограничивает возм...
    Возможность взаимодействия языков
    Возможность взаимодействия языков CTS играет важную роль в обеспечении способности к взаимодействию языков, так как она определяет набор типов, которые должен поддерживать компилятор .NET, чтобы о...
    Иерархия объектов с единым корнем
    Иерархия объектов с единым корнем Как я уже говорил, важная характеристика CTS — иерархия объектов с единым корнем. В .NET Framework каждый тип системы происходит от базового класса System.Object....
    Безопасность типов
    Безопасность типов В завершение упомяну такое полезное свойство CTS, как безопасность типов. Безопасность типов гарантирует, что типы являются именно тем, за что они себя выдают, и что над некотор...
    Подведем итоги
    Подведем итоги CTS (Common Type System) — важная особенность .NET Framework. CTS определяет правила системы типов, которым приложения обязаны следовать, чтобы корректно работать в CLR. Типы CTS де...








Начало