Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос про наследование 
:(
    Опции темы
level0
Дата 14.4.2007, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 14.4.2007

Репутация: нет
Всего: нет



есть вот такой код
Код

public sub somename
Dim c1 As New base2
c1.b2call()
c1.b2()
End Sub
....
Public Class base1
Public Overloads Sub b2()
Console.Write("base1-b2")
End Sub
Public Overloads Sub b2call()
b2()
End Sub
End Class
Public Class base2
Inherits base1
Public Overloads Sub b2()
Console.Write("base2-b2")
End Sub
End Class
он выводит на экран:
base1-b2
base2-b2
а надо 
base2-b2 
base2-b2
всякие overloads и shadows почему-то не помогают. ПОнимаю пробел в полиморфизме, но помогите плиз... ;)

Это сообщение отредактировал(а) Exception - 15.4.2007, 17:20
PM MAIL   Вверх
ivashkanet
Дата 14.4.2007, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 5
Всего: 149



Ну... нужно писать Overridable (перезаписываемый) (в базовом классе) и Overrides (перезаписывает) (в наследнике) вместо Overloads (перегружает).
Перегрузка функций и свойств это нечто другое (перегрузка операторов)

Код

Public Class base1
    Public Overridable Sub b2()
        Console.Write("base1-b2")
    End Sub
    Public Overridable Sub b2call()
        b2()
    End Sub
End Class
Public Class base2
    Inherits base1
    Public Overrides Sub b2()
        Console.Write("base2-b2")
    End Sub
End Class

P.S. На форуме есть подсветка синтаксиса (кнопка Код)
P.P.S. Первый раз вижу ключевое слово Overloads. Интересно, если ли случаи, когда оно нужно?

Это сообщение отредактировал(а) ivashkanet - 14.4.2007, 14:09
PM MAIL WWW ICQ   Вверх
Exception
Дата 15.4.2007, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Цитата(ivashkanet @  14.4.2007,  15:04 Найти цитируемый пост)
Интересно, если ли случаи, когда оно нужно?


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

http://msdn2.microsoft.com/en-us/library/y...47f(vs.80).aspx
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.2240 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.