Введення в класи в C#

Класи є основними будівельними блоками об’єктно-орієнтованого програмування в C#. Вони дозволяють програмістам визначати план для створення об’єктів, які є екземплярами класу. Класи інкапсулюють дані та поведінку в єдиний блок, забезпечуючи модульний і багаторазовий спосіб організації коду.

Визначення класу в C#

Класи визначаються таким чином:

// Define a class called 'Person'
class Person
{
    // Class variables (also known as fields)
    public string Name;
    public int Age;

    // Class method
    public void Greet()
    {
        Console.WriteLine($"Hello, my name is {Name} and I'm {Age} years old.");
    }
}

// Create objects of the 'Person' class
Person person1 = new Person();
person1.Name = "John";
person1.Age = 30;
person1.Greet();  // Output: Hello, my name is John and I'm 30 years old.

Person person2 = new Person();
person2.Name = "Jane";
person2.Age = 25;
person2.Greet();  // Output: Hello, my name is Jane and I'm 25 years old.
  • У наведеному вище коді ми визначаємо клас під назвою 'Person', який має дві публічні змінні класу: 'Name' (з типу 'string') і 'Age' (типу 'int'). У нас також є публічний метод під назвою 'Greet()', який друкує привітання за допомогою змінних 'Name' і 'Age'.
  • Щоб створити об’єкти класу 'Person', ми використовуємо ключове слово 'new', за яким слідує назва класу ( 'Person'). Потім ми присвоюємо значення змінним 'Name' і 'Age' кожного об’єкта. Нарешті, ми викликаємо метод 'Greet()' для кожного об’єкта, щоб відобразити привітання.
  • Класи надають можливість створювати кілька екземплярів (об’єктів) із власними унікальними даними, дозволяючи створювати необхідну кількість об’єктів 'Person' і отримувати незалежний доступ до їхніх властивостей і методів.

Висновок

Класи забезпечують основу для створення складних програм на C#, пропонуючи такі функції, як конструктори для ініціалізації об’єктів, властивості для контрольованого доступу до членів класу та модифікатори доступу для керування видимістю. Ефективно використовуючи класи, можна створювати модульні, підтримувані та масштабовані структури коду.