ПОНЯТНО О Visual Basic NET (том 3)


Перегрузка - часть 3


        Return Расход_краски_на_кв_м * Площадь_забора(Длина, Ширина)

    End Function

 

    Public Function Расход_краски_на_забор  _

(ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer) As Integer

        Return Расход_краски_на_кв_м * Площадь_забора(X1, Y1, X2, Y2)

    End Function

End Class

А вот как можно проверить работу наших перегруженных функций, вычислив два раза расход краски на одном и том же участке (сначала участок задан длиной и шириной, а второй раз – координатами):

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim Участок1 As New Участок

        Участок1.Владелец = "Римский"

        Участок1.Высота_забора = 3

        Участок1.Расход_краски_на_кв_м = 2

        Debug.WriteLine(Участок1.Расход_краски_на_забор(100, 50))

        Debug.WriteLine(Участок1.Расход_краски_на_забор(1000, 2000, 1100, 2050))

End Sub

Перегруженные компоненты класса могут иметь и одинаковое число параметров. Тогда, чтобы VB их не перепутал, хотя бы у одного параметра должны быть разные типы.

Чтобы подчеркнуть, что компоненты перегруженные, вы можете писать в их заголовке слово Overloads.

Не путайте перегрузку с полиморфизмом. Перегрузка толкует о тезках в одном классе, полиморфизм – в разных; перегруженные функции получают один результат, полиморфные – разный.




Начало  Назад  Вперед