Имя Пароль
Зарегистрироваться


* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Классы и структуры
7 февраля 2009

На первый взгляд классы и структуры очень похожи: у тех и других могут быть чле-
ны (например поля и методы), тем и другим требуется конструктор для создания
экземпляров и, подобно всем типам NET Framework, они происходят от базового
типа Object Ключевое отличие между ними в том, что классы — это ссылочные
типы, а структуры являются типами значения. С точки зрения низкоуровневых ме-
ханизмов это означает, что под экземпляры классов (объекты) память выделяется
из кучи, а под экземпляры структур — из стека. Благодаря особенностям реализа-
ции, доступ к стеку осуществляется быстро и просто, но в стек нельзя поместить
много данных без риска снизить общую производительность приложения.
На практике это означает, что структуры лучше применять для реализации про-
стых небольших объектов, экземпляры которых содержат сравнительно немного
данных, либо для хранения короткоживущих объектов. Классы же лучше подходят
для объектов, которые содержат больше данных, либо должны храниться в памяти
достаточно долгое время.
Резюме
• К пользовательским типам относятся структуры и классы. У тех и других име-
ются члены — поля, свойства, методы и события. Классы — это ссылочные типы,
а структуры — типы значения.
• Для создания классов в Visual Basic .NET применяют ключевое слово Class, а в
С# — class. Для создания структур в Visual Basic .NET служит ключевое слово
Structure, в С# для этой цели применяют ключевое слово struct. Как для классов,
так и для структур разрешены вложенные типы.
• Процедура объявления и создания экземпляров пользовательского типа не от-
личается от таковой для предопределенных типов за исключением необходимо-
сти использования ключевого слова New (new) для создания экземпляров пользо-
вательских типов значений и ссылочных типов.

Теги: .NET

Статьи по теме:

Интерфейсы CTS
Свойства, доступные только для чтения или только для записи
Анти-паттерны в действии или Самые популярные ошибки программистов
Декларативная защита по правам доступа к коду
Вывод типов
Применение типов .NET Framework в приложениях
Редактор пользовательского интерфейса
Защита приложений
Лямбда-выражения
Добавление элементов управления на панель Toolbox
Обработка ошибок при обновлении базы данных
Применение GDI+
Создание элементов управления
Редактор условий установки
Системные кисти, перья и цвета
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30


     



Rambler

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Классы и структуры. Регион сайта: Москва и Санкт-Петербург