Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.99
Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.99

А теперь рассмотрим способы, которые используют для перегрузки методов и свойств с целью их последующего переопределения. В базовом объекте указывается метод, который необходимо перегрузить. Для этого используется слово Overridable, которое пишется вместо слова Private в строке, содержащей имя и описание переопределяемого метода.

Обратимся к классу, который наследует базовый класс. Для начала необходимо указать на то обстоятельство, что вновь созданный объект является унаследованным. Как это делать, мы уже знаем. После строки с именем нового объекта пишем слово Inherits и указываем имя базового класса. Затем для обозначения переопределенного метода вместо слова Private пишем слово Overrides.

Рассмотрим простой пример. Создадим класс с именем Classl, который будет являться базовым. Эта подпрограмма рисования прямоугольника. Затем создадим унаследованный класс Class2. Он послужит для рисования эллипса. Задача программы - перегрузить метод, рисующий прямоугольник, и переопределить его для рисования эллипса. Вот код, составленный в файле класса Classl:

Public Class Classl Overridable Sub rect(ByVal e As System. Windows. Forms. PaintEventArgs )

e.Graphics.DrawRectangle(New Pen(Color.Red, 3), 50, 50, _ 150, 100)

Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования

ГЛАВА 14 ▼ Создание графики методами ООП

End Sub End Class

В этом коде слово Overridable указывает, что метод rect может быть переопределен в унаследованном классе. Затем составляем код в файле класса Class2:

Public Class Class2

Inherits Classl

Overrides Sub rect(ByVal e As

System.Windows.Forms.PaintEventArgs)

e.Graphics,DrawEllipse(New Pen(Color.Green, 3), 20, 20,

120, 100)

End Sub

End Class

В этом коде строка Inherits Classl указывает, что класс Class2 унаследован от класса Classl. Слово Overrides переопределяет тот же метод rect, который в результате служит для рисования эллипса. А вот как выглядит код в файле модуля формы:

Private Sub Forml_Paint(ByVal sender As Object, _ ByVal e As Syst em. Windows. Forms. Paint Event Args) _ Handles MyBase.Paint

"e.Graphies.DrawRectangle(New Pen(Color.Red, 3), 50, 50, _ 100, 100)


⇐ Предыдущая Следующая ⇒
 
 
 
Powered by Exponenta