Библиотека книг по компьютерным технологиям
⇒ ⇒ Разработка Windows-приложений на Microsoft Visual Basic .NET и Microsoft Visual C# .NET. Учебный курс MCAD/MCSD
⇒ ⇒ ⇒ Глава 1. Введение в .NET Framework
⇒ ⇒ ⇒ ⇒ Занятие 2. Библиотека базовых классов .NET
⇒ ⇒ ⇒ ⇒ ⇒ Применение типов .NET Framework в приложениях

Читать далее: Применение переменных ссылочных типов и типов значений

Ссылочные типы

Экземпляры ссылочных типов создаются в два этапа. Вначале объявляется переменная требуемого типа. При этом выделяется память, необходимая для хранения данной переменной, но сам объект пока не создается. Синтаксис объявления объектов таков:

Visual Basic .NET

Dim myForm As System.Windows.Forms.Form

Visual C#

System.Windows.Forms.Form myForm;

Предыдущая строка приказывает исполняющей среде выделить необходимый объем памяти под переменную, которая в данном примере представляет форму, присваивает этой переменной имя myForm, но пока не создает в памяти реальный объект формы. Собственно объект создается в ходе второго этапа, называемого созданием экземпляра (instantiation), например:

Visual Basic .NET

myForm = New System.Windows.Forms.Form

Visual C#

myForm = new System.Windows.Forms.Form();

Ключевое слово New (new), использованное в этом примере, вызывает конструктор типа System.Windows.Forms. Конструктор — это специальный метод, вызываемый только в начале жизни объекта и содержащий код, который необходимо исполнить, чтобы получить работоспособный объект. Этот код способен, например, назначать свойствам объекта начальные значения. Любые параметры, необходимые конструктору, указываются в скобках в конце строки. Следующий пример иллюстрирует объявление и создание экземпляра класса Widget, конструктор которого требует передать ему в качестве параметра строку. Подробнее о конструкторах рассказывается на занятии 4.

Visual Basic .NET

Dim myWidget As Widget
myWidget = New Widget("This is required by the constructor")

Visual C#

Widget myWidget;
myWidget = new Widget("This is required by the constructor");

Можно объявить объект и создать его экземпляр в одной и той же строке. При этом выделяется память под объект, и в зарезервированной памяти тотчас создается экземпляр объекта. В предыдущих версиях Visual Basic совмещать объявление и создание экземпляров не рекомендуется, так как подобная экономия существенно снижает производительность. Однако Visual Basic .NET и Visual C# оптимизированы для подобных операций и выполняют их без потери производительности. Вот пример кода, иллюстрирующий объявление новой формы с одновременным созданием ее экземпляра:

Visual Basic .NET

Dim myForm As New System.Windows.Forms.Form

Visual C#

System.Windows.Forms.Form myForm = new System.Windows.Forms.Form();

Любые переменные — как ссылочных типов, так и переменные с типами значения — необходимо инициализировать перед использованием. Поля классов и структуры в Visual Basic .NET инициализируются значениями по умолчанию при объявлении. Переменные числовых типов (например типы значений, представляющие целые числа или числа с плавающей точкой) инициализируются нулями, переменные типа Boolean — значением False, а переменные ссылочных типов — пустой ссылкой (null-значением).

В C# переменные по умолчанию инициализируются значением null, однако любая попытка использования неинициализированной переменной с классами и методами закончится ошибкой.

Google
 
Рейтинг@Mail.ru
Сайт управляется системой uCoz