«Программирование в объектно-ориентированной среде»




Скачать 1.16 Mb.
страница 5/11
Дата 27.08.2016
Размер 1.16 Mb.
1   2   3   4   5   6   7   8   9   10   11

Ход работы:

  1. Изучить теоретическую часть.

  2. Выполнить задания, следуя указаниям.

  3. Ответить на контрольные вопросы (в устной форме).

  4. Предъявить преподавателю результаты работы программы и исходные коды.

  5. Оформить отчет в соответствии с ходом работы (тема, цель, условие задачи, программный код, результаты тестирования программы, выводы).


Теоретическая часть

Переопределение свойств и методов в производных классах

По умолчанию производный класс наследует свойства и методы от своего базового класса. Если наследуемое свойство или метод в производном классе должен работать другим образом, то оно может быть переопределено. То есть, в производном классе можно определить новую реализацию метода. Следующие модификаторы используются для управления переопределением свойств и методов.



  • Overridable позволяет переопределение свойства или метода в производном классе.

  • Overrides переопределяет Overridable свойство или метод, определенное в базовом классе.

  • NotOverridable не позволяет переопределять свойство или метод в наследующем классе.По умолчанию Public методы являются NotOverridable.

  • MustOverride требует обязательного переопределения свойства или метода производным классом.При использовании ключевого слова MustOverride определение метода состоит только из инструкций Sub, Function или Property.Другие инструкции не допускаются, и в частности отсутствуют инструкции EndSub и EndFunction.МетодыMustOverride должны объявляться в классах MustInherit.

Ключевое слово MyBase

Ключевое слово MyBase ведет себя подобно объектной переменной, ссылающейся на базовый класс текущего экземпляра. Ключевое слово MyBase часто используется для обращения к членам базового класса, которые переопределены или скрыты в производном классе. В частности, можно воспользоваться вызовом MyBase.New для явного вызова конструктора базового класса из конструктора производного класса.



Ключевое слово MyClass

Ключевое слово MyClass ведет себя подобно объектной переменной, ссылающейся текущий экземпляр класса, который был изначально реализован. Ключевое слово MyClass напоминает слово Me, однако при каждом вызове метода или свойства MyClass предполагается, что метод или свойство имеет атрибут NotOverridable (VisualBasic). Следовательно, на метод или свойство не оказывает никакого влияния его переопределение в производном классе.



Чтобы перегрузить какой-либо метод или свойство необходимо выполнить такие действия:

1. В окне Обозреватель решений (SolutionExplorer) щелкните на названии файла классов, коды которого должны быть наследованы для создания новых классов.

2. Нажмите клавишу , VisualBasic .NET отобразит на экране коды BASIC выбранного файла.

3. Для каждого свойства или метода, коды которого могут быть перегружены, замените слово Public ключевым словом Overridable.

Допустим, коды выбранного файла выглядят так:
Для свойств и методов замените слово Public словом Overridable:
Коды тех свойств и методов, для которых вы оставите слово Public, в новых объектах не могут быть изменены.

4. Выберите команду Проект/Добавить класс (Project/Add Class).

Откроется диалоговое окно Добавить новый элемент (Add New Item).

5. Наберите имя нового файла классов в поле Имя (Name) и щелкните на кнопке Добавить (Add).

Visual Basic .NET отобразит показанные ниже коды пустого класса, где вместо слова ClassName будет фигурировать указанное вами имя:
6. Наберите слово Inherits , а затем укажите название класса, коды которого должны быть наследованы.

Например, если нужно наследовать коды класса, названного именем Classl, наберите


7. Наберите коды свойств и методов, которые должны быть перегружены, но вместо слова Public используйте слово Overrides.

Слово Overrides используется при написании свойств и методов, коды которых будут отличаться от кодов свойств и методов исходного файла с теми же именами:


Таким образом, при создании нового класса вам нужно будет написать коды только тех свойств и методов, которые должны отличаться от свойств и методов исходного класса. Если приемы наследования и перегрузки кодов кажутся вам не очень понятными, не спешите сразу же отказываться от их применения. Помните, что они действительно могут помочь вам быстрее и более простым способом создавать корректно работающие программы, позволяя повторно использовать либо коды свойств и методов других объектов, либо только имена этих свойств и методов.

Задание. Чтобы реализовать перегрузку методов, прежде необходимо разработать приложение, в котором создаются файлы классов для представления местоположения улыбающегося и грустного лиц. Каждый раз, когда пользователь щелкает на кнопке Переместить улыбающееся лицо или Переместить грустное лицо, эти картинки начинают перемещаться. Воспользуйтесь графическим редактором для создания подобных рисунков.

Ниже в таблице приведен список объектов пользовательского интерфейса, которые нужно создать для этой программы, и список значений, которые нужно присвоить их свойствам.


Объект

Свойство

Значение

PictureBox1

Image

Name


SizeMode

указать URL рисунка

picSmile


StretchImage

PictureBox2

Image

Name


SizeMode

указать URL рисунка

picFrown


StretchImage

Button1

Text

Name


Переместить улыбающееся лицо

btnSmile


Button2

Text

Name


Выход

btnExit


Button3

Text

Name


Переместить грустное лицо

btnFrown


  1. Запустите VisualStudio и создайте новый проект.

  2. Отобразите форму проекта и используйте элемент управления PictureBox и Button для добавления объектов боксов для рисунков и кнопок.

  3. Измените свойстваImage, Name, SizeMode элементов PictureBox1 и PictureBox2 на значения, указанные в таблице выше.

  4. Измените свойства кнопок Button1, Button2 и Button3 на значения, указанные в таблице выше.

  5. Дважды щелкните на кнопке формы Переместить улыбающееся лицо и создайте такую процедуру обработки события:




  1. Отобразите форму, сделайте двойной щелчок мышью на кнопке Переместить грустное лицо и создайте такую процедуру обработки события:




  1. Снова отобразите форму, сделайте двойной щелчок мышью на кнопке Выход, а затем введите в процедуре события следующий оператор программы:

  2. Создайте отдельный файл класса (Проект/Добавить класс) и наберите следующее:




  1. Проект готов, запустите его и протестируйте.

Действия по перегрузке методов

  1. Измените коды класса Classl.vb, заменив для метода слово Public словом Overridabie:



  1. Затем создайте новый файл классов (Проект/Добавить класс), назовите его CopyClass и наберите для него код:




  1. Измените коды в файле формы таким образом, чтобы был использован как оригинальный файл классов (Class1), так и наследованный (Copy Class):

Если теперь вы щелкнете на кнопке формы Переместить улыбающееся лицо, улыбающееся лицо, как и прежде, будет перемещаться по экрану. Если же вы щелкнете на кнопке Переместить грустное лицо, Visual Basic.NET обратится к наследованному классу CopyClass, коды которого были перегружены, и на экране появится сообщение "Метод Move перегружен".


Контрольные вопросы:

  1. Что такое перегрузка методов.

  2. Перечислить и охарактеризовать модификаторы, которые используются для управления переопределением свойств и методов.

  3. Охарактеризуйте ключевые слова MyBase и MyClass.

  4. Опишите действия, необходимые для перегрузки.


Лабораторная работа №5

Создание проекта с использованием кнопочных компонентов

Цель: создание Windows-приложения, аналогичного стандартному калькулятору Windows в среде Visual Studio.
1   2   3   4   5   6   7   8   9   10   11


База данных защищена авторским правом ©infoeto.ru 2022
обратиться к администрации
Как написать курсовую работу | Как написать хороший реферат
    Главная страница