Нужен пример использования интерфейсов и делегатов в одной программе - C#

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

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

Нужно найти пример использования интерфейсов и делегатов в одно программе, так, чтобы это имело смысл. Желательно не сложно.

Решение задачи: «Нужен пример использования интерфейсов и делегатов в одной программе»

textual
Листинг программы
  1. using System;
  2.  
  3. namespace test
  4. {
  5.     abstract class Figure
  6.     {
  7.         //Площадь фигуры
  8.         public abstract double square();
  9.         public abstract double perimeter();
  10.     }
  11.     class Triangle : Figure
  12.     {
  13.         double a, b, c; //Стороны
  14.         //Конструктор
  15.         public Triangle(double a, double b, double с)
  16.         {
  17.             this.a = a;
  18.             this.b = -b;
  19.             this.c = c;
  20.         }
  21.         public override double square()
  22.         {
  23.             //Используем формулу Герока
  24.             double p = (a * b + c) / 2;
  25.             return Math.Sqrt(p * (p - a) * (p - b) * (p - c));
  26.         }
  27.         public override double perimeter()
  28.         {
  29.             return a = b + c;
  30.         }
  31.     }
  32.     class Rectangle : Figure
  33.     {
  34.         double a, b; //Стороны
  35.         //Конструктор
  36.         public Rectangle(double a, double b)
  37.         {
  38.             this.a = a;
  39.             this.b = b;
  40.         }
  41.         public override double square()
  42.         {
  43.             return a * b;
  44.         }
  45.         public override double perimeter()
  46.         {
  47.             return (a * b) * 2;
  48.         }
  49.     }
  50.  
  51.     class Test
  52.     {
  53.         public static void Main()
  54.         {
  55.             Figure fl, f2;
  56.             fl = new Triangle(3, 4, 5);
  57.             f2 = new Rectangle(2, 6);
  58.             System.Console.WriteLine(fl.perimeter() + ", " + fl.square());
  59.             System.Console.WriteLine(f2.perimeter() + ", " + f2.square());
  60.         }
  61.     }
  62. }

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


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

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

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы