Professional Documents
Culture Documents
Лаб2 ООП Звіт
Лаб2 ООП Звіт
Лабораторна робота №2
з дисципліни «Об’єктно-орієнтовне програмування»
«Дослідження колекцій та узагальнених колекцій С#»
Виконав студент:
групи ПІ-223
Черпак Володимир
Перевірив викладач:
Васильєва М.Д.
Київ 2020
Мета роботи – дослідити класи-колекції та узагальнені колекції у мові
програмування С#.
Завдання
3. Створити бінарне дерево об'єктів класу, вказаного в п.1. При цьому для бінарного
дерева передбачити можливість зберігати дані будь-якого типу (створити
узагальнений тип). Елементами дерева не можуть бути структури. Максимальна
оцінка за виконання завдання 1-3 - «добре».
Лістинг коду:
Class Account
{
public class Account
{
Class AccountService
{
public class AccountService : IAccountService
{
private IEnumerable<Account> _collection;
return info;
}
catch (ArgumentOutOfRangeException)
{
Console.WriteLine("Такого счёта не существует!");
}
try// обработчик исключений (если введен счёт , которого не существует ----> блок
catch)
{
if (p.Sum < 0)// если сума после снятия денег 0 ---- > красит красным
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Состояние вашего счёта меньше 0 !");
Console.WriteLine("Пополните его!");
}
}
catch (ArgumentOutOfRangeException)//если счёта не существует
{
Console.WriteLine("Такого счёта не существует!");
}
}
try
{
var p1 = _collection.ElementAt(rahunok1);
var p2 = _collection.ElementAt(rahunok2);
Console.WriteLine("Укажите cуму для перевода:");
string minus = Console.ReadLine();
double summa = Double.Parse(minus);
p1.Sum -= summa;//отнимаем со счёта суму
p2.Sum += summa;//прибавляем её на другой счёт
Console.WriteLine($"Со счёта {p1.Code} было снято {summa} грн и переведено на
счёт {p2.Code} ");
Console.WriteLine($"Состояние счёта #{p1.Code} : {p1.Sum} грн");
Console.WriteLine($"Состояние счёта #{p2.Code} : {p2.Sum} грн");
catch (ArgumentOutOfRangeException)
{
Console.WriteLine("Данный перевод невозможен!");
Console.WriteLine("Счёт не найден!");
}
}
}
}
Class Vector
{
public class Vector : IVector
{
int index = -1;
private readonly Account[] array;
return true;
}
IEnumerator<Account> IEnumerable<Account>.GetEnumerator()
{
for (int i = 0; i < array.Count(); i++)
{
yield return array[i];
}
}
}
}
Class DemonstrationService
{
public class DemonstrationService
{
private IAccountService _accountService;
ShowCollectionWithCaption("Accounts");
_accountService.Replenish();
ShowCollectionWithCaption("Accounts");
_accountService.Withdraw();
Console.WriteLine("Founded:");
var search = accounts.Where(x => x?.Code == 516857438).FirstOrDefault();
Console.WriteLine(search?.ToString());
ShowCollectionWithCaption("Accounts");
_accountService.Replenish();
ShowCollectionWithCaption("Accounts");
_accountService.Withdraw();
accounts.Delete(0);
accounts.Delete(0);
ShowCollectionWithCaption("Accounts after removing one element");
Console.WriteLine("Founded:");
var search = accounts.Where(x => x?.Code == 516857438).FirstOrDefault();
Console.WriteLine(search.ToString());
Console.WriteLine(_accountService.GetInfo());
}
}
}
Class Program
{
class Program
{
static void Main(string[] args)
{
var demoService = new DemonstrationService();
CaptionShow("Array");
demoService.Demonstrate_Array();
CaptionShow("Collection");
demoService.Demonstrate_Collection();
Console.ReadKey();
}
Используется при поиске и сортировке объектов. Может быть реализован типами, для
IComparable
которых определены операции сравнения.
13. В чому різниця між інтерфейсами IComparer та IComplarable? Для чого вони
призначені? В яких випадках варто використовувати кожний із них?
IComplarable визначає узагальнений типовий метод порівняння, який реалізує
тип класу або клас для замовлення або сортування його екземплярів
CompareTo() порівнює поточний екземпляр з іншим об'єктом того ж типу і повертає
ціле число, яке вказує на те, чи перебуває даний екземпляр, випливає або
відбувається в тому ж положенні в порядку сортування, що й інший об'ект
IComparer виставляє метод, який порівнює да об’єкти
Compare() метод порівнює два об’єкти та повертає значення, яке вказує на те, чи є
він меншим, рівним або більшим, ніж інший.