Материал: Лаб 7 - Валюта - СФ

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего

образования ТОМСКИЙ ГОСУДАРСТВЕЕНЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И

РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

Полиморфизм

Лабораторная работа №7 по дисциплине «Основы программирования» Отчет по лабораторной работе

Студент гр. ххххх

________ хххххххх

15.03.2022

Руководитель: Преподаватель КИБЭВС

_________ ________ хххххххх

15.03.2022

Томск 2022

2

Содержание Введение……………………………………………………………………………………. 3

Теоретические сведения…………………………………………………………………… 4

Ход работы для задания ……………………………………………………………………5

Заключение………………………………………………………………………………….8

Список использованной литературы……………………………………………………....9

3

1 Введение

Цель работы: овладеть навыками использования механизмов инкапсуляции,

наследования и полиморфизма.

Задание: Определить абстрактный класс Сurrency для работы с денежными суммами.

Определить в нем методы перевода в рубли и вывода на экран. На его основе реализовать классы Dollar, Euro и Pound (фунт стерлингов) с возможностью пересчета в центы и пенсы соответственно и указанием текущего курса. Создать класс Purse (кошелек), содержащий массив объектов этих классов. В программе продемонстрировать функциональность разработанных классов.

4

2 Теоретические сведения

Метод Main является точкой входа для каждого приложения C# и вызывается общеязыковой средой выполнения (CLR) при запуске программы. В приложении,

использующем инструкции верхнего уровня, метод Main создается компилятором и содержит все инструкции верхнего уровня.

Методы объявляются в классе, структуре или интерфейсе путем указания уровня доступа, такого как public или private, необязательных модификаторов, таких как abstract или sealed, возвращаемого значения, имени метода и всех параметров этого метода. Все эти части вместе представляют собой сигнатуру метода.

Вызов метода в объекте аналогичен доступу к полю. После имени объекта добавьте точку, имя метода и круглые скобки. Аргументы перечисляются в этих скобках и разделяются запятыми. Таким образом, методы класса Motorcycle могут вызываться, как показано в следующем примере:

При передаче в метод объекта ссылочного типа передается ссылка на этот объект. То есть метод получает не сам объект, а аргумент, который указывает расположение объекта. При изменении члена объекта с помощью этой ссылки это изменение отражается в аргументе в вызывающем методе, даже если объект передается по значению.

Методы могут возвращать значение вызывающему объекту. Если тип возврата,

указываемый перед именем метода, не void, этот метод может возвращать значение с помощью ключевого слова return . Инструкция с ключевым словом return , за которым следует значение, соответствующее типу возврата, будет возвращать это значение объекту,

вызвавшему метод.

5

3 Ход работы для задания

Данный алгоритм создает абстрактный класс Currency, в котором создаются методы пересчета одной валюты в другую. Затем создает классы наследники. В основной программе пользователя просится выбрать из какой валюты переводить и в какую, а также сколько.

На рисунке 3.1 представлен результат работы программы.

Ниже представлен сам код программы:

using System; namespace ConsoleApp6

{

abstract class Currency

{

public void DolInRub(double count)

{

double rate = 115.2;

Console.WriteLine($"Перевод равен: {count * rate}");

}

public void EuroInRub(double count)

{

double rate = 127.23;

Console.WriteLine($"Перевод равен: {count * rate}");

}

public void PoundInRub(double count)

{

double rate = 151.52;

Console.WriteLine($"Перевод равен: {count * rate}");

}

public void RubInDol(double count)

{

double rate = 0.008681;

Console.WriteLine($"Перевод равен: {count * rate}, в центах это: {count *

rate*100}");

}

public void EuroInDol(double count)

{

double rate = 1.1;

Console.WriteLine($"Перевод равен: {count * rate}, в центах это: {count * rate * 100}");

}

public void PoundInDol(double count)

{

double rate = 1.3;

Console.WriteLine($"Перевод равен: {count * rate}, в центах это: {count * rate * 100}");

}

public void RubInEuro(double count)

{

double rate = 0.00786;

Console.WriteLine($"Перевод равен: {count * rate}, в центах это: {count * rate * 100}");

}

public void DolInEuro(double count)

{

double rate = 0.90893;

Console.WriteLine($"Перевод равен: {count * rate}, в центах это: {count * rate * 100}");

}

public void PoundInEuro(double count)

{

double rate = 1.19;

Источник: https://studfile.net/preview/16706714/