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


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



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

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

Теги: .NET

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

Вложенные типы
Создание DataAdapter с помощью мастера Data Adapter Configuration Wizard
Реализация полиморфизма через наследование
ToDoList 5.6.6
Языки программирования .NET
Изменение меню во время выполнения
Применение элемента управления PrintPreviewControl
Применение отладочных инструментов
Автоматизация разработки
Декларативная защита по правам доступа к коду
Окна Locals, Autos и Watch
Модификаторы доступа для вложенных типов
Parsing Expression Grammar Support for C# 3.0 Part 1 – PEG Lib and Parser Generator
Системные кисти, перья и цвета
Применение переменных ссылочных типов
| .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 31


     



Rambler's Top100

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

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