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


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



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

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

Теги: .NET

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

Извлечение типизированных данных с помощью объекта DataReader
Применение объекта DataReader
Parsing Expression Grammar Support for C# 3.0 Part 1 – PEG Lib and Parser Generator
Команды для манипулирования данными
Разделяемые сборки
Параметры компоновки установочной программы
Реализация полиморфизма через наследование
Замещение членов базового класса в Visual Basic .NET
Применение переменных ссылочных типов
Вызов функций Windows API
Подключение к БД
Компиляция и исполнение .NET-приложений
Сокрытие членов базового класса в Visual C#
Редактор нестандартных действий
Конструирование меню во время разработки
| .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 | Классы и структуры. Регион сайта: Москва и Санкт-Петербург