Классы Книга и Статья с применением абстрактных классов - 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(); //чтобы не закрывалось
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.5 из 5
Похожие ответы