Отправляет email-рассылки с помощью сервиса Sendsay

Visual Basic.NET. Уроки

  Все выпуски  

Visual Basic.NET. Уроки


Информационный Канал Subscribe.Ru

Основы VB.NET. Уроки с сайта http://progs.biz

Рассылка №10

Основы VB.NET. Урок 5. Методы классов в VB.NET.

Полные версии уроков (с картинками) можно найти по адресам
Урок 5. Методы классов в VB.NET.

Основы VB.NET. Урок 5. Методы классов в VB.NET

Будем двигаться с нашим классом дальше. На прошлом занятии мы добавили свойства, на этом добавим методы.

Что такое методы? Это те же самые функции, только принадлежат они классам. Есть просто функции, а есть функции, которые что-то делают с переменным класса и принадлежат классу. Именно последние и называются методами. Отметим сразу, что методы имеют доступ ко всему классу, в котором они расположены - т. е. модификаторы доступа (private, public и т. д.) не имеют для методов класса никакого значения.

Давайте в наш класс Worker добавим метод для увеличения возраста рабочего на единицу. Понятно, что вместо такого метода можно использовать просто конструкцию вида:

wrk1.age=wrk1.age+1

так что наш пример выглядит довольно условным. Но тем не менеее добавим его. Ниже приводится код для метода:

Class Worker
    'Метод IncAge
    Public Sub IncAge()
        ageValue = ageValue + 1
    End Sub
    ...
End Class

После этого метод можно вызывать для экземпляров класса. Вот так можно испытать добавленный метод в тестовом классе:

Class Test
    Public Shared Sub Main()
        Dim wrk1 As New Worker()
        wrk1.age = 23
        Console.WriteLine("Возраст: {0}", wrk1.age)
        wrk1.IncAge() 'Вызываем метод
        Console.WriteLine("Возраст: {0}", wrk1.age)
    End Sub
End Class

Разумеется, в результате работы наша программа в первой строчке должна выдать 23, а второй - 24.

Методы могут иметь параметры, и могут возвращать некоторое значение. Параметры методов, как и следовало ожидать, разделяются запятыми. Добавим в наш класс Worker еще один метод, который увеличивает зарплату. Так как зарплата может быть увеличена на разную величину, то наш метод будет с параметром:

Class Worker
    'Добавляем свойство salary (Зарплата)
    Property salary() As Integer
        'Чтение свойства
        Get
            Return salaryValue
        End Get
        'Запись свойства
        Set(ByVal Value As Integer)
            salaryValue = Value
        End Set
    End Property
    'Переменная для хранения свойства
    Private salaryValue As Integer
    'Метод для увеличения зарплаты
    Public Sub IncSalary(ByVal inc As Integer)
        salaryValue = salaryValue + inc
    End Sub
    ...
End Class

Методы могут возвращать значения. Давайте добавим в класс еще один метод для увеличения зарплаты - IncSalary2. Действовать он будет аналогично методу IncSalary, только с некоторым ограничением. А именно, зарплата будет увеличена на значение передаваемого параметра, но при этом максимальная величина зарплаты не должна быть больше 100. Т. е. если, скажем, зарплата равна 90, а мы увеличиваем ее методом IncSalary2 на 20, то она станет не 110, а 100. В качестве значения наш новый метод IncSalary возвратит новое значение зарплаты. Вот его текст:

...
    Public Function IncSalary2(ByVal inc As Integer)
        If salaryValue + inc > 100 Then
            salaryValue = 100 'Максимальная зарплата
        Else
            salaryValue = salaryValue + inc
        End If
        Return salaryValue
    End Function
    ...

Как вы видите, так как возвращается некоторое значение (последством return), то мы используем слово Function вместо слова Sub.

Тестовый класс можно поменять следующим образом:

Class Test
    Public Shared Sub Main()
        Dim wrk1 As New Worker()
        wrk1.salary = 70
        Console.WriteLine("Зарплата: {0}", wrk1.salary)
        Console.WriteLine("Новая зарплата: {0}", wrk1.IncSalary2(20))
        Console.WriteLine("Новая зарплата: {0}", wrk1.IncSalary2(20))
    End Sub
End Class

Как видно и приведенного текста, мы можем писать вызов метода IncSalary2 прямо внутри Console.WriteLine (так как метод возвращает значение). Программа покажет в трех строчках значения для зарплаты 70, 90 и 100 (максимальная зарплата).

С этим уроком все!

Наверх
Рассылки Subscribe.Ru
Visual Basic: новости сайтов, советы, примеры кодов.

Рассылка новостей сразу интересных сайтов по Visual Basic: VBNet, VBMania и многих других. Кроме того на страницах рассылки Вы сможете прочитать советы, хитрости, примеры кодов, обзоры интересных новостей из мира программирования и многое другое. Присоединяйтесь - не пожалеете!!!


Copyright Алексеев Игорь, 2002

Copyright сайт progs.biz, 2002



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное