Интерфейсы в с#. лаб 1 ИСАС университет. Программа изменённого интерфейса имеется в приложении На рисунке 2 представлена демонстрация изменённого интерфейса с методами, как они выводят атрибуты университета. Здесь мы добавили в конец вывода бюджетных мест слово мест
Скачать 50.73 Kb.
|
Цель работы: Цель работы – освоить навыки разработки и применения интерфейсов в C#. Для достижения поставленной цели необходимо выполнить следующие задачи: - Освоить принципы разработки интерфейсов C#. - Освоить принципы реализации интерфейсов C#. - Исследовать предметную область, для которой разрабатывается интерфейс. - Разработать интерфейс и продемонстрировать его реализацию. Задание на работу: Разработать и реализовать интерфейс для заданной предметной области. Интерфейс должен иметь не менее двух реализаций с отличиями не менее чем в трех методах. - Университет. Ход работы: 1) Ознакомится теоретической справкой. 2) Разработать расчетный интерфейс C#. 3) Разработать несколько реализаций интерфейса. 4) Оформить отчет. 5) Защитить работу преподавателю. Разработаем предметную область университета. У университета есть название, число бюджетных мест, фамилия ректора, имя ректора, отчество ректора, рейтинг. Эти атрибуты имеются в университете. Описание интерфейса. Фамилия ректора, Имя ректора, Отчество ректора, название университета имеют строковый тип. Число бюджетных мест, рейтинг имеют числовой тип. Программа реализованного интерфейса имеется в приложении 1. На рисунке 1 представлена демонстрация работы программы, представленной в приложении 1, как она выводит данные атрибутов университета. Рисунок 1 -вывод атрибутов ёлки вместе с текстом из интерфейса Далее изменим реализацию интерфейса. Для этого изменим формат вывода в приложениях. Программа изменённого интерфейса имеется в приложении 2. На рисунке 2 представлена демонстрация изменённого интерфейса с методами, как они выводят атрибуты университета. Здесь мы добавили в конец вывода бюджетных мест слово «мест», а к фамилии, имени, отчеству ректора университет, к которому он относится. Рисунок 2 -вывод атрибутов университета вместе с текстом из интерфейса с изменёнными методами Вывод: принципы разработки и реализации интерфейса изучены и применены на практике. Предметная область университета изучена и реализована в двух реализациях. Были разработаны методы, выводящие описание университета вместе с её атрибутами. Приложения Приложение 1 Листинг программы Univercity1: using System; namespace Univercity1 { interface Univercity { int Count { get; } // число бюджетных мест string Фамилия { get; } // название университета string Имя { get; } // название университета string Отчество { get; } // название университета int Рейтинг { get; } // рейтинг вуза string Name { get; } // название университета void Count1(); void Фамилия1(); void Имя1(); void Отчество1(); void рейтинг1(); void Name1(); } class Univer : Univercity { // вывод бюджетных мест в вузе public void Count1() { Console.WriteLine("Число бюджетных мест в вузе: {0}", Count); } // вывод фамилии ректора public void Фамилия1() { Console.WriteLine("Фамилия ректора: {0}", Фамилия); } // вывод имени ректора public void Имя1() { Console.WriteLine("Имя ректора: {0}", Имя); } // вывод отчества ректора public void Отчество1() { Console.WriteLine("Отчество ректора: {0}", Отчество); } // вывод рейтинга public void рейтинг1() { Console.WriteLine("Рейтинг в вузе: {0} место", Рейтинг); } //вывод названия вуза public void Name1() { Console.WriteLine("Название вуза: {0}", Name); } public int Count { get; set; } public string Фамилия { get; set; } public string Имя { get; set; } public string Отчество { get; set; } public string Name { get; set; } public int Рейтинг { get; set; } public Univer(string name, int count, string имя, string фамилия, string отчество, int рейтинг) { Name = name; Count = count; Имя = имя; Фамилия = фамилия; Отчество = отчество; Рейтинг = рейтинг; } } class Program { static void Main(string[] args) { Univer univer = new Univer("Ярославский машиностроительный университет", 600, "Олег", "Федулов", "Львович" ,1); univer.Name1(); univer.Фамилия1(); univer.Имя1(); univer.Отчество1(); univer.рейтинг1(); univer.Count1(); } } } Приложение 2 Листинг программы Univercity2: using System; namespace Univercity2 { interface Univercity { int Count { get; } // число бюджетных мест string Фамилия { get; } // название университета string Имя { get; } // название университета string Отчество { get; } // название университета int Рейтинг { get; } // рейтинг вуза string Name { get; } // название университета string Name2 { get; } // название университета void Count1(); void Фамилия1(); void Имя1(); void Отчество1(); void рейтинг1(); void Name1(); } class Univer : Univercity { // вывод бюджетных мест в вузе public void Count1() { Console.WriteLine("Число бюджетных мест в вузе: {0} мест", Count); } // вывод фамилии ректора public void Фамилия1() { Console.WriteLine("Фамилия ректора {1}а: {0}", Фамилия, Name2); } // вывод имени ректора public void Имя1() { Console.WriteLine("Имя ректора {1}а: {0}", Имя, Name2); } // вывод отчества ректора public void Отчество1() { Console.WriteLine("Отчество ректора {1}а: {0}", Отчество, Name2); } // вывод рейтинга public void рейтинг1() { Console.WriteLine("Рейтинг в вузе: {0} место", Рейтинг); } //вывод названия вуза public void Name1() { Console.WriteLine("Название вуза: {0}", Name); } public int Count { get; set; } public string Фамилия { get; set; } public string Имя { get; set; } public string Отчество { get; set; } public string Name { get; set; } public string Name2 { get; set; } public int Рейтинг { get; set; } public Univer(string name, int count, string имя, string фамилия, string отчество, int рейтинг, string name2) { Name = name; Count = count; Имя = имя; Фамилия = фамилия; Отчество = отчество; Рейтинг = рейтинг; Name2 = name2; } } class Program { static void Main(string[] args) { Univer univer = new Univer("Ярославский машиностроительный университет", 600, "Олег", "Федулов", "Львович" ,1, "ярославского машиностроительного университета"); univer.Name1(); univer.Фамилия1(); univer.Имя1(); univer.Отчество1(); univer.рейтинг1(); univer.Count1(); } } } |