Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 06.01.2021
Сообщений: 4
1

Как нужно изменить метод класса, чтобы он ссылался на метод дочернего класса

04.05.2021, 21:30. Показов 850. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Увидел где-то такой метод, но не запомнил как он пишется полностью. Вот его часть:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
public static void Del_pers(List<Person> list)
        {
            
            foreach (var item in list)
            {
                if (item is Worker)
                {
                    (item as Worker).Del_person();
                    Console.WriteLine();
                }
                if (item is Chief)
                {
                    (item as Chief).Del_person();
                    Console.WriteLine();
                }
            }
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2021, 21:30
Ответы с готовыми решениями:

Как передать в метод класса Menu указатель на метод дочернего класса?
Как передать в метод базового класса указатель на метод дочернего: class Menu() { protected: ...

Как вызвать переопределить метод из дочернего класса так, чтобы выполнялись еще функции в родительском
У меня структура такова: Интерфейс IKey (Содержит void Open) public interface IKey { public...

Может ли метод родительского класса обратиться к полю дочернего класса
Может ли метод родительского класса обратиться к полю дочернего класса?

Метод абстрактного класса не видит переменные дочернего класса
есть abstract class A{ protected static $dir; public static function f(){} } и два класса...

4
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
04.05.2021, 22:27 2
Frozyakin, класс ничего не знает о наследниках => не может вызвать метод наследника
0
0 / 0 / 0
Регистрация: 06.01.2021
Сообщений: 4
05.05.2021, 09:24  [ТС] 3
А как можно вызвать методы дочернего класса? Напрямую?
0
1145 / 873 / 507
Регистрация: 09.04.2014
Сообщений: 2,056
05.05.2021, 10:21 4
если у Person есть метод Del_person() и он виртуальный, то Worker и Chief (наследники Person) могут его переопределить
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
30
31
32
33
class Person
{
  protected virtual void Del_person()
  {
      Conslole.WrilteLine("I'm Person");
  }
 
  public static void Del_pers(List<Person> list)
   {
      foreach (var item in list)
       {
          item.Del_person();
       }
    }
}
 
class Worker
{
  protected override void Del_person()
  {
      base.Del_person(); // вызов метода родителя (не обязательный)
      Conslole.WrilteLine("I'm Worker");
  }
}
 
class Person
{
  protected override void Del_person()
  {
      base.Del_person();
      Conslole.WrilteLine("I'm Chief");
  }
}
0
Эксперт .NET
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
05.05.2021, 10:21 5
Цитата Сообщение от Frozyakin Посмотреть сообщение
А как можно вызвать методы дочернего класса? Напрямую?
Определить нужные методы как виртуальные/абстрактные в базовом классе.
0
05.05.2021, 10:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2021, 10:21
Помогаю со студенческими работами здесь

Как вызвать определенный метод переданного класса через метод другого класса?
Добрый день. Захотел я вызвать в методе класса метод некоего другого класса, о котором я пока не...

Как вызвать метод дочернего класса при приведении типов?
Привет у меня есть класс (Батя) и парочка дочерних классов в классе Батя есть метод void...

Ссылка на метод дочернего класса из родительского
Всем привет! Я новичок в C++. Помогите, пожалуйста, сослаться из родительского класса на метод,...

Как изменить метод класса
Начал разглядывать шарп. Дошел до методов и классов. Если правильно понимаю, то в...

Как описать метод класса? Как двумя способами описать инлайнируемый метод класса? Что такое this?
Раздел 1. Строки: нужен фрагмент кода. Обязательно используйте функции для работы со строками. Как...

В C++ метод производного класса всегда переопределяет метод базового класса?
#pragma once #include &lt;iostream&gt; using namespace std; class Fish { public: virtual...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru