Спрятать метод интерфейса - C#
Формулировка задачи:
Ребята. Реализую интерфейс, в котором определён метод volume(объём). Хочу, чтобы этот метод был не доступен вне этого класса. Реализую его через имя интерфейса, но у меня есть ещё метод Show(), в котором я хочу использовать этот метод volume(). Подскажите, как создать ссылку на интерфейс и чтобы через неё обращаться к методу volume()?IFigur fig если создавать так, то говорит, что ссылка пустая.
enum Figur { Пирамида, Сфера}
public interface IFigure
{
double volume();
void Show();
}
class Pyramids : IFigure
{
int weight;
int height;
int length;
public Pyramids(int w, int l, int h)
{
weight = w;
length = l;
height = h;
}
public double volume()
{
return 1 / 3.0 * weight * length * height;
}
public void Show()
{
Console.WriteLine("{0} имеет длину {1}, ширину {2}, высоту {3}. Объём данной фигуры равен {4:#.##}", Figur.Пирамида.ToString(), length, weight, height, volume());
}
}Решение задачи: «Спрятать метод интерфейса»
textual
Листинг программы
Pyramids p = new Pyramids(3,2,6); // Создадим ссылку на интерфейс IFigure obj; //Используем ссылку на объект p obj = p; obj.show();