Опубликован: 31.08.2006 | Доступ: свободный | Студентов: 3927 / 218 | Оценка: 4.14 / 3.89 | Длительность: 39:16:00
ISBN: 978-5-9570-0021-3
Лекция 18:

Наследование форм и создание базовых классов

< Лекция 17 || Лекция 18: 12345 || Лекция 19 >
Аннотация: В этой лекции вы будете экспериментировать с обоими типами наследования. Вы узнаете, как с помощью нового инструмента Visual Studio .NET, который называется Inheritance Picker (Выбор наследования), интегрировать существующие формы в ваши проекты, а также узнаете, как создавать собственные классы

В этой лекции вы узнаете, как:

  • использовать Inheritance Picker (Выбор наследования) для встраивания в проект готовых форм;
  • создавать собственные базовые классы с собственными свойствами и методами;
  • создавать производные классы на основе базовых классов с помощью оператора Inherits.

Сейчас среди разработчиков программного обеспечения модным словечком стало объектно-ориентированное программирование (ООП). Microsoft Visual Basic 4 добавил в язык Visual Basic несколько объектно-ориентированных возможностей программирования, но если верить экспертам, Visual Basic отставал от истинно объектно-ориентированных языков, таких, как Microsoft Visual C++. В Visual Basic отсутствовало наследование - механизм, который позволяет одному классу принимать заранее созданный интерфейс и характеристики поведения от другого класса. Visual Basic .NET теперь поддерживает наследование, что означает, что вы можете создать одну форму в среде разработки и передать ее характеристики и функциональность другим формам. В дополнение к этому вы можете создавать ваши собственные классы и наследовать от них свойства, методы и события. В этой лекции вы будете экспериментировать с обоими типами наследования. Вы узнаете, как с помощью нового инструмента Visual Studio .NET, который называется Inheritance Picker (Выбор наследования), интегрировать существующие формы в ваши проекты, а также узнаете, как создавать собственные классы и с помощью оператора Inherits наследовать от них новые классы. Получив эти навыки, вы сможете использовать множество форм и процедур кода, которые вы уже разработали, что сделает программирование на Visual Basic более быстрым и гибким.

Что нового в Visual Basic .NET?

  • Возможность наследования форм в среде разработки Visual Studio с помощью инструмента Inheritance Picker (Выбор наследования).
  • Классы теперь определяются между ключевыми словами Public Class и End Class.
  • В одном исходном файле теперь может храниться несколько классов, определенных пользователем. (В Visual Basic 6 каждый новый класс должен был храниться в своем собственном файле.)
  • Свойства добавляются в класс с помощью нового синтаксиса Visual Studio .NET, а синтаксис Property Get, Property Let и Property Set больше не поддерживается.
  • Ключевое слово Inherits позволяет новым производным классам наследовать интерфейс и поведение существующего класса.

Наследование форм с помощью инструмента Выбор наследования

В терминологии объектно-ориентированного программирования наследование означает, что один класс получает объекты, свойства, методы и другие атрибуты другого класса. Visual Basic всегда использует это при создании в среде разработки новой формы. Первая форма проекта ( Form1 ) определена на основе класса System.Windows.Forms.Form и получает от него свои значения по умолчанию. На самом деле каждый раз, когда с помощью команды Add Windows Form (Добавить форму Windows) из меню Project (Проект) создается новая форма, этот класс указывается в верхней части кода каждой формы с использованием ключевого слова Inherits, как показано ниже:

Inherits
System.Windows.Forms.Form

Вы неосознанно всегда использовали наследование для определения форм Windows, которые использовали при создании приложений Visual Basic. Хотя существующие формы могут наследоваться с помощью кода программы, разработчики Visual Studio .NET сочли эту задачу важной и разработали специальный инструмент среды разработки, облегчающий этот процесс. Этот инструмент называется Inheritance Picker (Выбор наследования). Он доступен через команду Add Inherited Form (Добавить производную форму) в меню Project (Проект). В следующем упражнении вы будете использовать Inheritance Picker (Выбор наследования) для создания второй копии диалогового окна проекта.

Наследование простого диалогового окна

  1. Запустите Visual Studio и создайте в папке c:\vbnet03sbs\Гл.17 новый проект с именем My Form Inheritance.
  2. Отобразите форму проекта и используйте элемент управления Button для добавления в нижнюю часть формы двух расположенных рядом объектов кнопок.
  3. Измените свойства Text кнопок Button1 и Button2 на "OK" и "Отмена" соответственно.
  4. Чтобы отобразить в Редакторе кода процедуру события Button1_Click, сделайте двойной щелчок мышью на кнопке OK.
  5. Введите следующий оператор программы:

    MsgBox("Вы нажали OK")
  6. Снова отобразите форму, сделайте двойной щелчок мышью на кнопке Отмена, а затем введите в процедуре события Button2_Click следующий оператор программы:

    MsgBox("Вы нажали Отмена")
  7. Снова отобразите форму, а затем установите свойство Text формы на значение "Диалоговое окно". Теперь у вас есть простая форма, которую можно использовать как основу для диалогового окна программы. С помощью некоторых настроек вы можете использовать эту базовую форму для выполнения нескольких задач - просто нужно добавить на нее элементы управления, которые потребуются вашему приложению.

    Попрактикуйтесь в наследовании форм. Первым шагом в этом процессе является сборка - или компиляция - проекта, так как наследовать можно только от тех форм, которые скомпилированы в виде файлов .exe или .dll. Каждый раз, когда компилируется базовая форма, изменения, сделанные в этой базовой форме, передаются в производную (наследованную) форму.

  8. Щелкните на команде Build Solution (Построить решение) в меню Build (Построение). Visual Basic скомпилирует ваш проект и создаст .exe-файл.
  9. Щелкните на команде Add Inherited Form (Добавить производную форму) в меню Project (Проект). Вы увидите диалоговое окно, показанное ниже. Как обычно, Visual Studio приводит список всех возможных шаблонов, которые вы можете включить в проект, а не только те, которые касаются наследования. Но так как разделом по умолчанию на панели Templates (Шаблоны) является Inherited Form (Производная форма), вам не требуется делать никаких изменений. Текстовое поле Name (Имя) в нижней части диалогового окна позволяет присвоить вашей производной форме имя; это имя, которое появится в Solution Explorer (Обозревателе решений) и в имени файла формы на диске.


  10. Щелкните на Open (Открыть), чтобы принять для новой формы установки по умолчанию. Visual Studio отобразит диалоговое окно Inheritance Picker (Выбор наследования), показанное ниже.


    Это диалоговое окно содержит перечень всех форм текущего проекта, от которых можно наследовать. Если вы хотите просмотреть другие скомпилированные формы, щелкните на кнопке Browse (Обзор) и найдите на вашем жестком диске требуемый .dll-файл. (Если вы хотите наследовать от формы, которая не является компонентой текущего проекта, форма должна быть скомпилирована в .dll-файл.)

  11. Щелкните в диалоговом окне Inheritance Picker (Выбор наследования) на Form1, а затем на OK. Visual Studio создаст в Solution Explorer (Обозревателе решений) элемент Form2.vb и отобразит в Windows Forms Designer (Конструкторе Windows Forms) производную форму. На следующем рисунке обратите внимание, что форма выглядит идентично окну Form1, созданному ранее, за исключением того, что две кнопки содержат маленькие значки, которые указывают, что объекты получены из наследуемого источника.


    Иногда сложно отличить производную форму от базовой (маленькие значки наследования не так очевидны), так что используйте для различения этих форм Solution Explorer (Обозреватель решений) и закладки окон среды разработки.

Теперь вы должны добавить к производной форме несколько новых элементов.

< Лекция 17 || Лекция 18: 12345 || Лекция 19 >
Жанболат Шаймерден
Жанболат Шаймерден

Можно ли выбирать язык для надписей и команд в среде разработки?

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Светлана Ведяева
Светлана Ведяева
Россия, Саратов