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


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



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

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

Теги: .NET

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

Cosmos – C# Open Source Managed Operating System
Извлечение из сопутствующих сборок ресурсов, специфичных для культуры
Конфигурирование защиты по правам доступа к коду
Достоинства сертификации Microsoft
Замыкания (closure)
Модификаторы доступа к типам
Создание и настройка объекта DataAdapter
Создание дополнительных типов объектов Doughnut
Реализация специальных возможностей на этапе проектирования
Работа с фокусом ввода
Преобразование типов
Циклические ссылки
Объекты и члены
Специальные возможности и логотип «Certified for Windows»
Реализация полиморфизма через интерфейсы
| .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 | Классы и структуры. Регион сайта: Москва и Санкт-Петербург