Запрет на наследование метода - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет. Помогите, кто знает. Нужно сделать так. 1. Создать класс А, в котором все методы public 2. Создать класс Б, наследник А, в котором часть методов скрыто, т.е. ненаследованно.
Листинг программы
  1. class A
  2. {
  3. public A(){}
  4. public void f1(){}
  5. }
  6. class B : A
  7. {
  8. public B(){}
  9. }
  10. A a = new A();
  11. a.f1();//есть
  12.  
  13. B b = new B();
  14. b.f1();//нет
Можно ли так сделать?

Решение задачи: «Запрет на наследование метода»

textual
Листинг программы
  1.      
  2.  
  3.         class A
  4.         {
  5.             public A() { }
  6.             public void f1()
  7.             {
  8.             }
  9.         }
  10.  
  11.         class B : A
  12.         {
  13.             public B() { }
  14.             new public void f1()
  15.             {
  16.                 throw new NotSupportedException();
  17.             }
  18.         }
  19.  
  20.  
  21.       .............................
  22.  
  23.            A a = new A();
  24.             a.f1();//есть
  25.  
  26.  
  27.             B b = new B();
  28.             b.f1();//нет,  NotSupportedException
  29.  
  30.             //  но!!!
  31.           (b as A).f1();//есть

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы