Создать абстрактный класс и производные классы - C#
Формулировка задачи:
Помогите пожалуйста, очень надо...
1. Создать абстрактный класс Издание с методами позволяющим вывести на экран информацию об издании, а также определить является ли данное издание искомым.
2. Создать производные классы: Книга (название, фамилия автора, год издания, издательство), Статья (название, фамилия автора, название журнала, его номер и год издания), Электронный ресурс (название, фамилия автора, ссылка, аннотация) со своими методами вывода информации на экран.
3. Создать каталог (массив) из n изданий, вывести полную информацию из каталога, а также организовать поиск изданий по фамилии автора..
Решение задачи: «Создать абстрактный класс и производные классы»
textual
Листинг программы
namespace ConsoleEdition { abstract class Edition { public string NameOfPublication; public string LastNameOfAuthor; public Edition(string nameofpublic,string lastname) { NameOfPublication = nameofpublic; LastNameOfAuthor = lastname; } public abstract void GetInformation(); } class Book :Edition { public string YearOfPublication; public string NameOfEdition; public Book(string nameofpublic, string lastname,string yearofpublic, string nameofedition):base(nameofpublic,lastname) { YearOfPublication = yearofpublic; NameOfEdition = nameofedition; } public override void GetInformation() { Console.WriteLine("Information : {0},{1},{2},{3}",NameOfPublication,LastNameOfAuthor,YearOfPublication,NameOfEdition); } } class Article : Edition { public string NameOfMagazine; public int Number; public string YearOfPublicat; public Article(string nameofpublic, string lastname, string yearofpublic, string nameofmagazine, int number):base(nameofpublic,lastname) { NameOfMagazine = nameofmagazine; Number = number; YearOfPublicat = yearofpublic; } public override void GetInformation() { Console.WriteLine("Information:{0},{1},{2},{3},{4}",NameOfPublication,LastNameOfAuthor,NameOfMagazine,Number,YearOfPublicat) ; } } class InterntEdition : Edition { public string Link; public string Annotation; public InterntEdition(string nameofpublic, string lastname, string link,string annotation): base(nameofpublic,lastname) { Link = link; Annotation = annotation; } public override void GetInformation() { Console.WriteLine("Information:{0},{1},{2},{3}",NameOfPublication,LastNameOfAuthor,Link,Annotation); } } class Catalog { public List<Edition> list = new List<Edition>(); public void AddEdition(Edition edit) { list.Add(edit); } public void FindEdition(string lastname) { foreach (var p in list.FindAll(p => p.LastNameOfAuthor == lastname)) p.GetInformation(); } } class Program { static void Main(string[] args) { Catalog c = new Catalog(); c.AddEdition(new Book("Book","Test","2005","Star")); c.AddEdition(new Article("Article","Test","2012","Super",12)); c.AddEdition(new InterntEdition("Internet", "Test", "http", "Annotation")); foreach (var p in c.list) { p.GetInformation(); } c.FindEdition("Test"); Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д