Untitled
unknown
plain_text
3 years ago
1.1 kB
10
Indexable
using System;
using System.Collections.Generic;
public interface IShape
{
double Area()
{
return 0;
}
}
public class Rectangle : IShape
{
public double Length { get; set; }
public double Width { get; set; }
public double Area()
{
return Length * Width;
}
}
public class Trapezoid : IShape
{
public double Length1 { get; set; }
public double Length2 { get; set; }
public double Width { get; set; }
public double Area()
{
return (Length1 + Length2) * Width / 2;
}
}
public class Room<T> where T : IShape
{
public double Height { get; set; }
public T Floor { get; set; }
public double Volume()
{
return Floor.Area() * Height;
}
}
public class RoomComparerByVolume<T> : IComparer<Room<T>> where T : IShape
{
public int Compare(Room<T> room1, Room<T> room2)
{
double volume1 = room1.Volume();
double volume2 = room2.Volume();
if (volume1 < volume2)
return -1;
else if (volume1 > volume2)
return 1;
else
return 0;
}
}
Editor is loading...