Практическое руководство. Использование ключевого слова New
Обновлен: Ноябрь 2007
Для создания экземпляра класса используется ключевое слово New. В отличие от типов значений, например Integer и Double, объекты являются ссылочными типами и должны явно создаваться перед использованием. Например, рассмотрим следующие две строки кода:
Dim Button1 As System.Windows.Forms.Button
Dim Button2 As New System.Windows.Forms.Button()
Первый оператор объявляет переменную объекта, содержащую ссылку на объект кнопки. Однако переменная Button1 содержит значение Nothing до тех пор, пока ей не будет присвоен объект типа Button. Второй оператор также определяет переменную, содержащую объект кнопки, но ключевое слово New создает объект кнопки и назначает его переменной Button2.
Поскольку формы и элементы управления фактически являются классами, ключевое слово New используется для создания новых экземпляров этих элементов.
Создание новых экземпляров класса с помощью New
Откройте новый проект Windows Application и поместите кнопку и несколько других элементов управления на форму с именем Form1.
Добавьте следующий код к процедуре события Click кнопки:
Dim f As New Form1 f.Show()
Запустите приложение и нажмите кнопку несколько раз.
Сдвиньте в сторону переднюю форму. Поскольку форма является классом с видимым интерфейсом, будут видны дополнительные копии. Каждая копия имеет те же элементы управления в тех же положениях, что и на исходной форме на этапе разработки.
Ключевое слово New также используется для создания объектов внутри классов. В следующей процедуре представлен пример.
Отображение процесса создания экземпляров класса с помощью New
Откройте новый проект и поместите кнопку на форму с именем Form1.
Чтобы добавить класс в проект, в меню Проект выберите пункт Добавить класс.
Назовите новый класс ShowMe.vb.
Добавьте следующую процедуру в ShowMe:
Public Class ShowMe Sub ShowFrm() Dim frmNew As Form1 frmNew = New Form1 frmNew.Show() frmNew.WindowState = FormWindowState.Minimized End Sub End Class
Добавьте следующий код для обработки события Click кнопки Button1 в форме.
Protected Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim clsNew As New ShowMe clsNew.ShowFrm() End Sub
Для использования данного примера запустите приложение и нажмите кнопку несколько раз. При создании каждого нового экземпляра класса ShowMe в панели задач появляется значок свернутой формы