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