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



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

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

Теги: .NET

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

Создание формируемых элементов управления
Объект Graphics
Классы CTS
Редактор нестандартных действий
Boost – версия 1.36.0
Запись трассировочных данных в журнал событий
Применение методов формы
Мемоизация (memoization)
Программа сертификации специалистов Microsoft
Проверка разрешений, запрашиваемых установленной сборкой
Замещение членов базового класса в Visual Basic .NET
Настройка установочной программы
Извлечение и обновление данных с помощью объектов DataAdapter и DataSet
Компонент ErrorProvider
Применение классов Debug и Trace
| .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's Top100

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

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