Классы Книга и Статья с применением абстрактных классов - C#
Формулировка задачи:
Выполнить любые 3 (из 6) задания на C# (тема была разделена на части)
2. Создайте консольное приложение. В нем разработайте абстрактный класс Книга с методом позволяющим вывести на экран информацию об издании.
Создать производные классы: Книга (название, фамилия автора, год издания, издательство), Статья (название, фамилия автора, название журнала, его номер и год издания) со своими методами вывода информации на экран. Создать каталог (массив) из n изданий, вывести полную информацию из каталога.
Решение задачи: «Классы Книга и Статья с применением абстрактных классов»
textual
Листинг программы
using System;
namespace ConsoleApplication1
{
abstract class AbstractBook
{
//---общие атрибуты---
public string Name { get; private set; }
public string Author { get; private set; }
public int Year { get; private set; }
//---общие атрибуты---
public AbstractBook(string n, string a, int y)
{
Name = n; Author = a; Year = y;
}
public virtual string About()
{
return string.Format("Автор: {0}. Название: {1}. Год издания: {2}. ",Name,Author,Year);
}
}
class Book : AbstractBook
{
public string PublishingHouse { get; private set; }
public Book(string n, string a, int y, string ph) : base(n,a,y)
{
PublishingHouse = ph;
}
public override string About()
{
return base.About() + string.Format("Издательство: {0}.",PublishingHouse);
}
}
class Article : AbstractBook
{
public string MagName { get; private set; }
public int MagNum { get; private set; }
public Article(string n, string a, int y, string mgname, int mgnum) : base(n,a,y)
{
MagName = mgname;
MagNum = mgnum;
}
public override string About()
{
return base.About() + string.Format("Журнал: {0}. Номер: {1}.", MagName, MagNum);
}
}
class Program
{
static void Main(string[] args)
{
AbstractBook[] abooks = new AbstractBook[]
{
new Book("Брак и мораль", "Б.Рассел",2002,"АСТ"),
new Article("Влияние мочи на озоновый слой", "Группа британских ученых",2002,"Наука и жизнь",412),
new Book("Психология сознания","А.Ревонсуо",2002,"СПБ")
};
foreach(var x in abooks)
{
Console.WriteLine(x.About());
}
Console.ReadLine(); //чтобы не закрывалось
}
}
}