Запрет на наследование метода - 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();//есть

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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