Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
8 / 8 / 2
Регистрация: 14.01.2012
Сообщений: 60

Как взаимодействуют методы между базовым классом и потомком

03.06.2012, 21:40. Показов 805. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Немного запутался в возможностях наследования и не понимаю как реализовать, чтобы базовый класс в своем методе вызывал метод переопределенный в потомке.
Пример:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class go
{
     public void write()
     {
          Console.WriteLine("Parent");
          wrt();
     }
     protected void wrt()
     {
          Console.WriteLine("protected in parent");
     }
}
 
class go1: go
{
     new protected void wrt()
     {
          Console.WriteLine("i'm child");
     }
}
 
class Program
{
     static void Main(string[] args)
     {
          go1 go = new go1();
          go.write();
     }
}
В выводе получаеся:
Parent
protected in parent

Вопрос - как сделать так чтобы класс go1 использовал переопределенный метод wrt(), а не брал его из базового?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.06.2012, 21:40
Ответы с готовыми решениями:

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

В чём смысл ограничения параметра типа базовым классом? Generics Base class constraint
public class A { public virtual void F() => Console.WriteLine("AAA"); } public class B : A ...

Выбор между абстрактным классом, интерфейсом и простым классом
Здравствуйте. Помогите определиться, что следует выбрать в следующей ситуации, а главное почему следует выбирать именно это. ...

1
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
03.06.2012, 21:44
Сделать его public.
Только метод wrt, определенный в go1 не переопределяет родительский метод, а скрывает его.
Если вам нужно именно переопределение, то пометьте родительский метод как virtual, а унаследованный - как override.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.06.2012, 21:44
Помогаю со студенческими работами здесь

Составить программу с одним родительским классом "Квартира" и потомком "Квартира в центре"
Составить программу с одним родительским классом и потомком. Все поля должны быть закрытыми. Базовый класс должен содержать конструкторы...

Как сделать шаблон, с параметром-классом - потомком определённого класса?
Хочется сделать шаблон с параметром-классом, который обязан реализовывать определённый интерфейс. class IService { public: ...

Как проверить является ли объект базовым классом или наследником
struct Base { int i = -1; }; struct Derived : Base { double d = 0.1; };

Constexpr array возвращаемый классом-потомком
Здравствуйте, хотелось бы реализовать следующую иерархию классов. Есть базовый класс с чисто виртуальной функцией, возвращающей ссылку на...

Invalid_argument не является базовым классом
Всмысле? Как так? В заголовочном файле определяю наследование своего исключения от invalid_argument : struct MyNUMB { int h1; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru