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

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

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

Всем привет. Помогите, кто знает. Нужно сделать так. 1. Создать класс А, в котором все методы public 2. Создать класс Б, наследник А, в котором часть методов скрыто, т.е. ненаследованно.
class A
{
public A(){}
public void f1(){}
}
 
class B : A
{
public B(){}
}
 
A a = new A();
a.f1();//есть

B b = new B();
b.f1();//нет
Можно ли так сделать?

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

textual
Листинг программы
     
 
        class A
        {
            public A() { }
            public void f1()
            {
            }
        }
 
        class B : A
        {
            public B() { }
            new public void f1()
            {
                throw new NotSupportedException();
            }
        }
 
 
      .............................
 
           A a = new A();
            a.f1();//есть
 
 
            B b = new B();
            b.f1();//нет,  NotSupportedException
 
            //  но!!!
          (b as A).f1();//есть

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


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

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

14   голосов , оценка 4.214 из 5
Похожие ответы