Назад Вперед Зміст

🐸 OOP у C#: Класи та Об'єкти 🧬

Тема: Клас і Об'єкт - основа ООП!

💡 Мета уроку

Зрозуміти основи Об'єктно-Орієнтованого Програмування (ООП) через поняття класу і об'єкта

🎯 Що таке ООП?

ООП - це інший спосіб написання програм. Він відрізняється від процедурного програмування насамперед тим, що основний акцент ставиться не на алгоритми, а на розробку структур даних. Згідно з об'єктно-орієнтованим підходом, будь-яка програма є сукупністю взаємодіючих між собою об'єктів, які мають властивості та поведінку.

🐸 4 Основних принципи ООП:

  • Інкапсуляція - приховування внутрішніх деталей
  • Спадковість - створення нових класів на основі існуючих
  • Поліморфізм - одна дія, багато реалізацій
  • Абстракція - спрощення складних систем

🎯 Що таке КЛАС у програмуванні?

📝

Клас - це КОНСТРУКТОР або ФОРМА для печива! 🍪

Уявіть, що клас - це форма для випікання печива. Вона визначає:

  • 📏 Форму печива (кругле, серцеподібне)
  • 🎨 Колір та прикраси
  • 📐 Розмір печива
  • 🔧 Конструктор - спосіб створення печива

Але це ще НЕ САМЕ печиво! Це лише форма!

🎯 Що таке ОБ'ЄКТ у програмуванні?

🍪

Об'єкт - це реальне ПЕЧИВО з форми! 🍪

Коли ми використовуємо форму (клас), ми отримуємо:

  • 🍪 Реальне печиво з шоколадом
  • 🍪 Інше печиво з горіхами
  • 🍪 Ще одне печиво з цукровою пудрою

Кожне печиво - це ОБ'ЄКТ, створений за формою (класом)!

👨‍💻 ПРИКЛАД КЛАСУ ТА ОБ'ЄКТУ У C#:

// 🍪 Це КЛАС - форма для печива
class Печиво
{
    // ВЛАСТИВОСТІ (як печиво виглядає)
    public string Назва;
    public string Колір;
    public int Розмір;

    // КОНСТРУКТОР - спеціальний метод для створення об'єкта
    public Печиво(string назва, string колір, int розмір)
    {
        Назва = назва;
        Колір = колір;
        Розмір = розмір;
    }

    // МЕТОД - що може робити печиво
    public void ПоказатиІнфо()
    {
        Console.WriteLine($"Печиво '{Назва}' ({Колір}), розмір: {Розмір}см");
    }
}

// А це ОБ'ЄКТИ - реальні печива!
Печиво печивоЗШоколадом = new Печиво("Шоколадне", "Коричневий", 10);
Печиво печивоЗГоріхами = new Печиво("Горіхове", "Золотий", 8);

// Викликаємо методи об'єктів
печивоЗШоколадом.ПоказатиІнфо();
печивоЗГоріхами.ПоказатиІнфо();
🏗️

КЛАС

Форма/Конструктор/Шаблон

Приклад:

class Frog { }

class Student { }

class Car { }

Це ще не об'єкт!

🎾

ОБ'ЄКТ

Конкретна річ

Приклад:

Frog кваква = new Frog();

Student анна = new Student();

Car мояТачка = new Car();

Це реальний об'єкт!

🐸 Тепер повернемось до нашої жаби!

СЦЕНА 1: КРИЗА САМОІДЕНТИФІКАЦІЇ

  • Кваква (стурбовано дивиться на своє відображення у ставку):
    От життя! Сиджу я тут у класі Amphibian, а мрію бути у класі Mammal! Чому кіт Мурчик може грітися на сонечку та пити молочко, а я мушу сидіти у болоті?
  • Мурчик (ліниво позіхаючи):
    М'яу... Ти, Квакво, не розумієш основ OOP! Ти створена як class Frog : Amphibian, а я - class Cat : Mammal. Це наша спадковість!

👨‍💻 КЛАС FROG З КОНСТРУКТОРОМ:

// 🐸 Клас описує, що таке жаба
class Frog
{
    // ВЛАСТИВОСТІ - які дані є у жаби
    public string Name;
    public int JumpPower;
    public string Color;

    // КОНСТРУКТОР - метод для створення жаби з параметрами
    public Frog(string name, int jumpPower, string color)
    {
        Name = name;
        JumpPower = jumpPower;
        Color = color;
        Console.WriteLine($"Створено нову жабу: {name}!");
    }

    // МЕТОДИ - що може робити жаба
    public void Croak()
    {
        Console.WriteLine($"{Name}: Ква-ква! Я готова до біології!");
    }

    public void Jump()
    {
        Console.WriteLine($"{Name} ({Color}) стрибає на {JumpPower} см! 🐸");
    }
}

// 🎯 Програма створює КОНКРЕТНІ ОБ'ЄКТИ-жаби
class Program
{
    static void Main()
    {
        // Створюємо ОБ'ЄКТИ за допомогою конструктора
        Frog кваква = new Frog("Кваква", 42, "зелений");
        Frog леся = new Frog("Леся", 35, "коричневий");
        Frog бульба = new Frog("Бульба", 50, "жовтий");

        // Викликаємо методи об'єктів
        кваква.Croak();
        леся.Jump();
        бульба.Croak();
        бульба.Jump();
    }
}

💡 Важливо розрізняти!

КЛАС = опис (як креслення) 📖

КОНСТРУКТОР = інструмент для створення 🔧

ОБ'ЄКТ = реальна річ (як готовий будинок) 🏠

З одного класу можна створити багато об'єктів!

🎮 Гра: Створи свій об'єкт-жабу!

Клас: "Frog" 🐸

Спробуй створити різних жабок!

👨‍💻 ЩО ВИВЧИЛИ:

// 1. Клас - це шаблон
class Frog { ... }

// 2. Конструктор створює об'єкт
Frog жаба = new Frog("Ім'я", 100, "колір");

// 3. Об'єкт - це конкретна річ
жаба.Croak();  // Виклик методу
жаба.Name;      // Використання властивості

❓ Питання для роздумів

✅ Висновок

ООП - це спосіб організації коду, де ми працюємо з об'єктами, що мають властивості та методи. Клас - це шаблон, а об'єкт - конкретний екземпляр цього шаблону. Конструктор допомагає нам створювати об'єкти з потрібними параметрами!

Назад Вперед Зміст