Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Лаболаторна робота №2
з дисципліни
«Алгоритмічне та програмне забезпечення комп’ютеризованих систем керування»
Варіант №9
Створення проекту С# в Microsoft Visual Studio.
Запускаємо Microsoft Visual Studio.
Вибираємо створити проект
Вибираємо Visual С#,
ConsoleApplication, …
натискаємо ОК
Для запуску проекту в меню Debug вибираємо Start Without Debugging
починаємо писати код програми…
Лабораторна 1. Інкапсуляція
Перший спосіб
/* поле coast (private float coast) закрите. Є два відкритих методи. Перший (public void SetCoast(float value)) дозволяє встановити значення для закритого поля.
Другий (public float GetCoast()) - зчитати. В першому методі встановлення значення для закритого поля (coast) відбувається після перевірки де-якої умови ( if (value < 100 && value > 0)).
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ООП_2_Інкапсуляція
{
class Program
{
static void Main()
{
Klas1 coffee = new Klas1(); //Означено обєкт (coffee) класу (Klas1)
coffee.name = "Jacobs";
// coffee.coast = 30;
coffee.SetCoast(12.7f);//встановлення вартості кави
//coffee.persentage = 12.5f;
Console.WriteLine("Вартість закупки пакета кави складає " + coffee.GetCoast() + " грн.");
Console.WriteLine("Вартість реалізації одного пакета кави складає " + coffee.GetRealPrice() + " грн.");
Console.ReadKey();
}
}
class Klas1
{
public string name;
private float coast;
float persentage = 12.5f;//змінили метод доступу на private(означили поле(persentage), обмежили доступ
//обмежуємо метод доступу до полів(робимо його private) і створюємо спеціальні методи, що дозволять доступитись до цих 'private-полів'
public float GetRealPrice()
{
return coast+coast * persentage / 100;
}
public void SetCoast(float value) //Перший метод доступу
{
if (value < 100 && value > 0)
coast = value;
else
Console.WriteLine("Недопустимий діапазон");
}
public float GetCoast()
{
return coast;
}
}
}
Другий спосіб
Коли ми звертаємось до властивості (Coast) обєкта (coffee.Coast = 12.5f;) і присвоюємо йому значення, викликається метод 'public float Coast' і через локальну змінну value
'set { coast = value; }' ціні продукта (coast), в нашому випадку це закрите поле (private float coast) класу Klas1, присвоюється 12.5f
Для суміщення двох методів доступу та встановлення полів вибирають одну властивість обєкта,що визначається інструкціями
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ООП_2_Інкапсуляція
{
class Program
{
static void Main()
{
Klas1 coffee = new Klas1(); //Означено обєкт (coffee) класу (Klas1)
coffee.name = "Jacobs";
coffee.Coast = 12.5f;
Console.WriteLine("Вартість закупки пакета кави складає " + coffee.Coast + " грн.");
Console.WriteLine("Вартість реалізації одного пакета кави складає " + coffee.GetRealPrice() + " грн.");
Console.ReadKey();
}
}
class Klas1
{
public string name; //назва продукта
private float coast; //ціна продукта
float persentage = 12.5f;//відсоток доданої вартості
//змінили метод доступу на private(означили поле(persentage), обмежили доступ
//обмежуємо метод доступу до полів(робимо його private) і створюємо спеціальні методи, що дозволять доступитись до цих 'private-полів'
public float GetRealPrice()
{
return coast + coast * persentage / 100;
}
public float Coast
{
get { return coast; } //модифікатор повернення (повертає значення coast)
set {
if (value > 0 && value < 100)
coast = value;
else
Console.WriteLine("Помилкова вартість ");
} //модифікатор встановлення значення coast за допомогою value
}
}
}