Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ЧЕРНІВЕЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ


ІМЕНІ ЮРІЯ ФЕДЬКОВИЧА

Інститут фізико-технічних і комп’ютерних наук


Кафедра комп’ютерних систем і мереж

Соколюка Дениса
З дисципліни С#
Лабораторна робота №1
Лабораторна робота №1
Тема: Створення класів. Аксесори читання та запису
Код програми:

using System;

namespace ConsoleApp1
{

class Program
{
public class Adress
{
private string city;
private string street;
private int number;
public static int count = 0;
public string City
{
get
{
Console.WriteLine("[get city]");
return city;
}
set
{
Console.WriteLine("[set city]");
city = value;
}
}
public string Street
{
get
{
Console.WriteLine("[get street]");
return street;
}
set
{
Console.WriteLine("[set street]");
street = value;
}
}
public int Number
{
get
{
Console.WriteLine("[get number]");
return number;
}
set
{
Console.WriteLine("[set number]");
number = value;
}

}
public Adress(string City1, string Street1, int Number1)
{
Console.WriteLine("");
Console.WriteLine("The constructor with parameters is called:");
City = City1;
Street = Street1;
Number = Number1;
count++;
Console.WriteLine("------------------------------------------------------------");
}
public Adress()
{
Console.WriteLine("");
Console.WriteLine("The default constructor is called:");
city = "Chernivtzi";
street = "Kozubinskiy";
number = 2;
count++;
Console.WriteLine("------------------------------------------------------------");
}
public void Print()
{
Console.WriteLine("");
Console.WriteLine($"City: {city}.");
Console.WriteLine($"Street: {street}.");
Console.WriteLine($"Number:{number}.");
Console.WriteLine("------------------------------------------------------------");
}
~Adress()
{
Console.WriteLine("The deconstructor is called");
}

public static void Print1()


{
Console.WriteLine($"The number of objects created for the class 'Adress':\t{Adress.count}");
}

}
static void Main(string[] args)
{
Adress chnu = new Adress();
Adress park = new Adress("Chernivtzi", "Sadova", 1);
Adress cinema = new Adress("Chernivtzi", "Kobelyanska", 14);

chnu.Print();
park.Print();
cinema.Print();

Adress.Print1();
}
}

}
Результат:

Контрольні запитання
1.Охарактеризуйте концепції (принципи) об’єктно-орієнтовано
програмування.
 ООП – поняття програмування, яке розглядає програму як
множену “об‘єктів”.

2.Що таке клас, об’єкт?


 Клас – це спеціальна конструкція, яка використовується для
групування пов’язаних змінних та функції.
 Об’єкт – поняття в ООП, втілення моделі окремої сутності,
належить до визначеного класу та характеризується своїми
властивостями.

3.Які існують в С# ідентифікатори доступу до членів класу?


 Private
 Public
 Protected
 Internal
 Protected internal
 Public protected
4.Що таке конструктор? Назвіть типи конструкторів в С#.
 Конструктор – це метод, ім’я якого співпадає з іменем його
типу.
 Конструктор буває стандартним та з параметрами.

5.Для чого призначений деструктор, коли він викликається?


 Деструстор потрібен, щоб виконати декомпозицію об’єкта на
відокремлені частини.

6.Як визначаються властивості в С#, в чому їх призначення?


 Властивості – це спеціальні методи доступу. Вони забезпечують
простий доступ до полів класу і структур.
 Визначається він за допомогою методів set і get.

7.Яким чином застосовуються модифікатори доступу до


властивостей?
 По замовчуванню рівень доступу у методів set і get, такий же як
і в властивості, до якої вони належать.
 Якщо ж потрібно змінити рівень доступу, то це виконюється
тільки для методу set, тоді як get залишається общедоступним.

8.Що таке автоматичні властивості? Як здійснюється їх ініціалізація?


 Автоматичні властивості це ті які не потрібно ініціалізувати, не
об’явлюються ні поля ні код для получення значення поля.

9.Що означає статичне поле в класі? Які методи слід оголошувати як


статичні?
 Якщо поле статичне - це означає, що для цього полі не
обов’язково створювати екземпляр класу.Таке поле буде
зберігати стан класу в цілому, а не окремий об’єкт.

10.Охарактеризуйте відмінності між статичними та звичайними


членами класу.
 Щоб викликати звичайний метод класу потрібно створити
екземпляр цього класу, а для статичного методу цього робити не
потрібно.

11.Як звертатися до статичних членів класу?

 “Ім’я класу.Ім’я статичного методу()”

You might also like