using System; class Book : Item { private String author; private String title; private String publisher; private int pages; private int year; private static double price = 9; private bool returnSrok = false; static Book() { price = 10; } public Book() { } public Book(String author, String title, String publisher, int pages, int year, long invNumber, bool taken) : base (invNumber, taken) { this.author = author; this.title = title; this.publisher = publisher; this.pages = pages; this.year = year; } public Book(String author, String title) { this.author = author; this.title = title; } public void SetBook(String author, String title, String publisher, int pages, int year) { this.author = author; this.title = title; this.publisher = publisher; this.pages = pages; this.year = year; } public static void SetPrice(double price) { Book.price = price; } public override void Show() { Console.WriteLine("\nКнига:\n Автор: {0}\n Название: {1}\n Год издания: {2}\n {3} стр.\n Стоимость аренды: {4}", author, title, year, pages, Book.price); base.Show(); } public double PriceBook(int s) { double cost = s * price; return cost; } public override void Return() { taken = ReturnSrok; } public delegate void ProcessBookDelegate(Book book); public void ProcessPaperbackBooks(ProcessBookDelegate processBook) { if (ReturnSrok) processBook(this); } public static event ProcessBookDelegate RetSrok; public bool ReturnSrok { get { return returnSrok; } set { returnSrok = value; if (ReturnSrok == true) RetSrok(this); } } public override string ToString() { string str = this.title + ", " + this.author + " Инв. номер " + this.invNumber; return str; } }