Нужен пример использования интерфейсов и делегатов в одной программе - C#
Формулировка задачи:
Нужно найти пример использования интерфейсов и делегатов в одно программе, так, чтобы это имело смысл. Желательно не сложно.
Решение задачи: «Нужен пример использования интерфейсов и делегатов в одной программе»
textual
Листинг программы
using System;
namespace test
{
abstract class Figure
{
//Площадь фигуры
public abstract double square();
public abstract double perimeter();
}
class Triangle : Figure
{
double a, b, c; //Стороны
//Конструктор
public Triangle(double a, double b, double с)
{
this.a = a;
this.b = -b;
this.c = c;
}
public override double square()
{
//Используем формулу Герока
double p = (a * b + c) / 2;
return Math.Sqrt(p * (p - a) * (p - b) * (p - c));
}
public override double perimeter()
{
return a = b + c;
}
}
class Rectangle : Figure
{
double a, b; //Стороны
//Конструктор
public Rectangle(double a, double b)
{
this.a = a;
this.b = b;
}
public override double square()
{
return a * b;
}
public override double perimeter()
{
return (a * b) * 2;
}
}
class Test
{
public static void Main()
{
Figure fl, f2;
fl = new Triangle(3, 4, 5);
f2 = new Rectangle(2, 6);
System.Console.WriteLine(fl.perimeter() + ", " + fl.square());
System.Console.WriteLine(f2.perimeter() + ", " + f2.square());
}
}
}