progs.biz  
Начало>VB.NET>Основы>Урок 12
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
SQL
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Б. Ивьен и др. Visual Basic .NET. Библия пользователя
Б. Ивьен и др. Visual Basic .NET. Библия пользователя
Заказать на Озоне



Яндекс-цитирования

Основы VB.NET
Урок 12. Вызываем методы родителя

Если один класс есть потомок другого класса, то в них могут быть методы с одинаковым названием. И при этом в классе-потомке вы можете вызывать как метод собственного класса, так и метод класса-предка. Вот пример на эту тему:

Imports System
Class A
    Public n As Integer
    Public Sub incN()
        'Увеличиваем n
        n = n + 1
    End Sub
End Class
'Класс B - потомок класса A
Class B
    Inherits A
    Public Shadows Sub incN()
        'Увеличиваем n
        n = n + 10
    End Sub
    Public Sub F1()
        'Вызываем метод incN класса B (потомка)
        incN()
    End Sub
    Public Sub F2()
        'Вызываем метод incN класса A (предка)
        MyBase.incN()
    End Sub
End Class

Class Test
    Public Shared Sub Main()
        Dim p1 As New B()
        Dim p2 As New B()
        p1.F1()
        Console.WriteLine(p1.n)
        p2.F2()
        Console.WriteLine(p2.n)
    End Sub
End Class

Здесь и в классе предке (класс A), и в классе-потомке (класс B) есть метод incN. В классе-предке он увеличивает переменную n на 1, в классе-потомке - на 10. Обратите внимание, что в классе-потомке мы объявили этот метод с ключевым словом Shadows:

    ...
    Public Shadows Sub incN()
    ...

Это слово мы должны использовать в потомке для перекрытия одноименного метода класса-предка.

Кроме того в классе-потомке B есть два метода - F1 и F2. Внутри F1 мы вызываем метод incN() класса-потомка, внутри F2 - incN() класса-предка. Обратите внимание, что для вызова метода из класса-предка мы используем ключевое слово MyBase:

        ...
        MyBase.incN()
        ...

В классе Test мы создаем два экземпляра класса B. Для одного из них мы вызываем метод F1, для другого - F2. Программа наша выведет на экран 10 и 1 соответственно.

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2008 сайт progs.biz
© 2002-2008 Игорь Алексеев