Спрятать метод интерфейса - 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();

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


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

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

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