Интерфейсы в с#. лаб 1 ИСАС. Отчет по лабораторной работе 1 по дисциплине Интеграция с автоматизированными системами Тема Разработка интерфейса C# Вариант 17 Выполнил студент группы 220692 Стрельников Евгений Олегович
Скачать 50.71 Kb.
|
МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «Тульский государственный университет» Институт прикладной математики и компьютерных наук Кафедра вычислительной техники Отчет по лабораторной работе № 1 по дисциплине «Интеграция с автоматизированными системами» Тема «Разработка интерфейса C#» Вариант 17 Выполнил студент группы 220692 Стрельников Евгений Олегович Проверил ассистент каф. ВТ Крюков Олег Сергеевич Тула 2022 Цель работы: Цель работы – освоить навыки разработки и применения интерфейсов в C#. Для достижения поставленной цели необходимо выполнить следующие задачи: - Освоить принципы разработки интерфейсов C#. - Освоить принципы реализации интерфейсов C#. - Исследовать предметную область, для которой разрабатывается интерфейс. - Разработать интерфейс и продемонстрировать его реализацию. Задание на работу: Разработать и реализовать интерфейс для заданной предметной области. Интерфейс должен иметь не менее двух реализаций с отличиями не менее чем в трех методах. - Новогодняя ёлка. Ход работы: 1) Ознакомится теоретической справкой. 2) Разработать расчетный интерфейс C#. 3) Разработать несколько реализаций интерфейса. 4) Оформить отчет. 5) Защитить работу преподавателю. Разработаем предметную область новогодней ёлки. У новогодней ёлки есть высота, название ёлки, гирлянда, игрушки, шарики. Эти атрибуты имеются в ёлке. Описание интерфейса. Все переменные, кроме названия ёлки имеют тип числовой. Высота и гирлянда исчисляются в длине, а игрушки, шарики в количестве. Имеется 5 методов по умолчанию, которые помогают нам вывести информацию о ёлке вместе с поздравлением на консоль. Программа реализованного интерфейса имеется в приложении 1. На рисунке 1 представлена демонстрация методов Move, Move1, Move2, Move3, Move4, как они выводят данные атрибуты ёлки. Рисунок 1 -вывод атрибутов ёлки вместе с текстом из интерфейса Далее изменим реализацию интерфейса. Для этого добавим 3 метода по умолчанию. Нам необходимо, чтобы можно было понять, какая понадобится максимальная длина гирлянды, максимальное число игрушек и максимальное количество шариков. То есть мы пытаемся рассчитать, какая нужна длина гирлянды, число игрушек и шариков. Тут ничего не нужно вводить, система сама решит, сколько нужно гирлянды, игрушек, шариков, введя формулы. Для гирлянды должна быть длина, равная 1,5 длины ёлки, для игрушек число равное 2 длинам ёлки, и тоже самое для шариков. Программа изменённого интерфейса имеется в приложении 2. На рисунке 2 представлена демонстрация изменённого интерфейса с методами Move5, Move6, Move7, как они выводят максимальную длину гирлянды, игрушек и шариков, которые можно повесить на ёлку. Рисунок 2 -вывод атрибутов ёлки вместе с текстом из интерфейса с изменёнными методами Вывод: принципы разработки и реализации интерфейса изучены и применены на практике. Предметная область новогодней ёлки изучена и реализована в двух реализациях. Были разработаны методы, выводящие описание ёлки вместе с её атрибутами. Приложения Приложение 1 Листинг программы New_Year_1: using System; namespace New_Year_1 { interface New_Year_Tree { int Height { get; } // высота ёлки int Garland { get;} // длина гирлянды int Toys { get; } // количество игрушек int Balloons { get;} // количество шариков string Name { get; } // название ёлки void Move(); void Move1(); void Move2(); void Move3(); void Move4(); } class New_Year : New_Year_Tree { // вывод поздравления и имени ёлки public void Move() { Console.WriteLine("С новым годом! Имя ёлки: {0}",Name); } // вывод высоты ёлки public void Move1() { Console.WriteLine("Высота ёлки = {0} м", Height); } // вывод длины гирлянды public void Move2() { Console.WriteLine("Длина гирлянды = {0} м", Garland); } // вывод количества игрушек public void Move3() { Console.WriteLine("Количество игрушек = {0} шт", Toys); } // вывод количества шариков public void Move4() { Console.WriteLine("Количество шариков = {0} шт", Balloons); } public string Name { get; set; } public int Height { get; set; } public int Garland { get; set; } public int Toys { get; set; } public int Balloons { get; set; } public New_Year(string name, int height, int garland, int toys, int ballons) { Name = name; Height = height; Garland = garland; Toys = toys; Balloons = ballons; } } class Program { static void Main(string[] args) { New_Year client = new New_Year("Гостья новогодняя",600, 800, 500, 300); client.Move(); client.Move1(); client.Move2(); client.Move3(); client.Move4(); } } } Приложение 2 Листинг программы New_Year_2: using System; namespace New_Year_2 { interface New_Year_Tree { int Height { get; } // высота ёлки int Garland { get;} // длина гирлянды int Toys { get; } // количество игрушек int Balloons { get;} // количество шариков string Name { get; } // название ёлки void Move(); void Move1(); void Move2(); void Move3(); void Move4(); void Move5(); void Move6(); void Move7(); } class New_Year : New_Year_Tree { public void Move() { Console.WriteLine("С новым годом! Имя ёлки: {0}",Name); } public void Move1() { Console.WriteLine("Высота ёлки = {0} м", Height); } public void Move2() { Console.WriteLine("Длина гирлянды = {0} м", Garland); } public void Move3() { Console.WriteLine("Количество игрушек = {0} шт", Toys); } public void Move4() { Console.WriteLine("Количество шариков = {0} шт", Balloons); } public void Move5() { Console.WriteLine("Максимальная длина гирлянды которую можно повесить на ёлку = {0} м", 1.5 * Height); } public void Move6() { Console.WriteLine("Максимальное количество игрушек которое можно повесить на ёлку = {0} шт", 2 * Height); } public void Move7() { Console.WriteLine("Максимальное количество шариков которое можно повесить на ёлку = {0} шт", 2 * Height); } public string Name { get; set; } public int Height { get; set; } public int Garland { get; set; } public int Toys { get; set; } public int Balloons { get; set; } public New_Year(string name, int height, int garland, int toys, int ballons) { Name = name; Height = height; Garland = garland; Toys = toys; Balloons = ballons; } } class Program { static void Main(string[] args) { New_Year client = new New_Year("Гостья новогодняя",600, 800, 500, 300); client.Move(); client.Move1(); client.Move2(); client.Move3(); client.Move4(); client.Move5(); client.Move6(); client.Move7(); } } } |