Типы-значения и типы-ссылки
Контейнерный и ссылочный подходы к представлению объектов: хранение их в стеке или в куче
Простые типы (int, double, unsigned int, native int и др.) – относятся к типам-значениям
Структуры – также относятся к типам-значениям (хранятся в стеке; могут иметь свои методы; нет наследования)
Указатели (managed pointers) – с контролем типов
Неуправляемые указатели (unmanaged pointers) – только в небезопасном (unsafe) режиме – нет контроля типов и безопасности; нет сборки мусора
В общем случае возможен вызов неуправляемого кода из управляемого; также без контроля типов и без сборки мусора
Классы - как в других системах ООП
Класс – совокупность полей (информации) и методов, предназначенных для ее обработки. Классы могут наследовать поля и методы друг от друга.
Интерфейс – совокупность заголовков методов, которые могут реализовывать те или иные классы. Например, интерфейс Stack может содержать заголовки методов Push и Pop. Допускается любое число реализаций интерфейса различными классами.
Делегаты и события – типы данных для обработки событий. Тип делегата описывает типовую структуру заголовка обработчика события, представленного в виде callback-метода. При описании события указывается конкретный тип делегата.
Контейнерный и ссылочный подходы к представлению объектов: хранение их в стеке или в куче
Простые типы (int, double, unsigned int, native int и др.) – относятся к типам-значениям
Структуры – также относятся к типам-значениям (хранятся в стеке; могут иметь свои методы; нет наследования)
Указатели (managed pointers) – с контролем типов
Неуправляемые указатели (unmanaged pointers) – только в небезопасном (unsafe) режиме – нет контроля типов и безопасности; нет сборки мусора
В общем случае возможен вызов неуправляемого кода из управляемого; также без контроля типов и без сборки мусора
Классы - как в других системах ООП
Класс – совокупность полей (информации) и методов, предназначенных для ее обработки. Классы могут наследовать поля и методы друг от друга.
Интерфейс – совокупность заголовков методов, которые могут реализовывать те или иные классы. Например, интерфейс Stack может содержать заголовки методов Push и Pop. Допускается любое число реализаций интерфейса различными классами.
Делегаты и события – типы данных для обработки событий. Тип делегата описывает типовую структуру заголовка обработчика события, представленного в виде callback-метода. При описании события указывается конкретный тип делегата.