public Book(string title, string author, int price)
public override string ToString()
return String.Format("{0}(Автор {1}) - {2:c2}", title, author, price);
public override bool Equals(object obj)
if (this.title == bk.title && this.author == bk.author && this.price == bk.price)
public abstract double Area();
public abstract double Perimeter();
public abstract void Print();
public abstract string NameFigure { get; set; }
public Square(double length)
public override double Area()
public override double Perimeter()
public override void Print()
Console.WriteLine("Длина квадрата: {0}", length);
public override string NameFigure
class ExtendedRandom : Random
public string RandomString(int length)
Random rnd = new Random();
for (int i = 0; i < length; i++)
str += (char)rnd.Next(97, 123);
public static void Main(string[] args)
Book bk = new Book("Furges", "Tar", 928);
Console.WriteLine("Книга {0}", bk.ToString());
Console.WriteLine("Книга {0}", bk);
Book bk1 = new Book("Furges", "Tar", 928);
Book bk2 = new Book("Derigon", "Rardy", 732);
Console.WriteLine("Одинаковы ли первый и второй объекты: {0}", bk.Equals(bk1) ? "Да" : "Нет");
Console.WriteLine("Одинаковы ли первый и третий объекты: {0}", bk.Equals(bk2) ? "Да" : "Нет");
Square sqr = new Square();
Console.WriteLine("Площадь квадрата: {0}", sqr.Area());
Console.WriteLine("Периметр квадрата: {0}", sqr.Perimeter());
Console.WriteLine("Имя фигуры: {0}", sqr.NameFigure);
ExtendedRandom rand = new ExtendedRandom();
Console.WriteLine("Рандомная строка: {0}", rand.RandomString(20));