Создать абстрактный класс и производные классы - C#

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста, очень надо... 1. Создать абстрактный класс Издание с методами позволяющим вывести на экран информацию об издании, а также определить является ли данное издание искомым. 2. Создать производные классы: Книга (название, фамилия автора, год издания, издательство), Статья (название, фамилия автора, название журнала, его номер и год издания), Электронный ресурс (название, фамилия автора, ссылка, аннотация) со своими методами вывода информации на экран. 3. Создать каталог (массив) из n изданий, вывести полную информацию из каталога, а также организовать поиск изданий по фамилии автора..

Решение задачи: «Создать абстрактный класс и производные классы»

textual
Листинг программы
  1. namespace ConsoleEdition
  2. {
  3.     abstract class Edition
  4.     {
  5.         public string NameOfPublication;
  6.         public string LastNameOfAuthor;
  7.         public Edition(string nameofpublic,string lastname)
  8.         {
  9.             NameOfPublication = nameofpublic;
  10.             LastNameOfAuthor = lastname;
  11.         }
  12.         public abstract void GetInformation();
  13.     }
  14.     class Book :Edition
  15.     {
  16.         public string YearOfPublication;
  17.         public string NameOfEdition;
  18.         public Book(string nameofpublic, string lastname,string yearofpublic, string nameofedition):base(nameofpublic,lastname)
  19.         {
  20.             YearOfPublication = yearofpublic;
  21.             NameOfEdition = nameofedition;
  22.         }
  23.         public override void GetInformation()
  24.         {
  25.             Console.WriteLine("Information : {0},{1},{2},{3}",NameOfPublication,LastNameOfAuthor,YearOfPublication,NameOfEdition);
  26.         }
  27.     }
  28.     class Article : Edition
  29.     {
  30.         public string NameOfMagazine;
  31.         public int Number;
  32.         public string YearOfPublicat;
  33.         public Article(string nameofpublic, string lastname, string yearofpublic, string nameofmagazine, int number):base(nameofpublic,lastname)
  34.         {
  35.             NameOfMagazine = nameofmagazine;
  36.             Number = number;
  37.             YearOfPublicat = yearofpublic;
  38.         }
  39.         public override void GetInformation()
  40.         {
  41.             Console.WriteLine("Information:{0},{1},{2},{3},{4}",NameOfPublication,LastNameOfAuthor,NameOfMagazine,Number,YearOfPublicat) ;
  42.         }
  43.     }
  44.     class InterntEdition : Edition
  45.     {
  46.         public string Link;
  47.         public string Annotation;
  48.         public InterntEdition(string nameofpublic, string lastname, string link,string annotation): base(nameofpublic,lastname)
  49.         {
  50.             Link = link;
  51.             Annotation = annotation;
  52.         }
  53.         public override void GetInformation()
  54.         {
  55.             Console.WriteLine("Information:{0},{1},{2},{3}",NameOfPublication,LastNameOfAuthor,Link,Annotation);
  56.         }
  57.     }
  58.     class Catalog
  59.     {
  60.         public List<Edition> list = new List<Edition>();
  61.         public void AddEdition(Edition edit)
  62.         {
  63.             list.Add(edit);
  64.         }
  65.         public void FindEdition(string lastname)
  66.         {
  67.             foreach (var p in list.FindAll(p => p.LastNameOfAuthor == lastname))
  68.                 p.GetInformation();
  69.         }
  70.     }
  71.     class Program
  72.     {
  73.      
  74.         static void Main(string[] args)
  75.         {
  76.             Catalog c = new Catalog();
  77.             c.AddEdition(new Book("Book","Test","2005","Star"));
  78.             c.AddEdition(new Article("Article","Test","2012","Super",12));
  79.             c.AddEdition(new InterntEdition("Internet", "Test", "http", "Annotation"));
  80.             foreach (var p in c.list)
  81.             {
  82.                 p.GetInformation();
  83.             }
  84.             c.FindEdition("Test");
  85.             Console.ReadLine();
  86.         }
  87.     }
  88. }

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


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

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

10   голосов , оценка 4.1 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы