Классы и ООП в C#: Полное руководство для начинающих с примерами
Случайная статья Статьи

Классы и ООП в C#: Полное руководство

Введение в ООП

Объектно-ориентированное программирование (ООП) — это парадигма программирования, основанная на концепции "объектов", которые могут содержать данные и код.

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

  1. Инкапсуляция — скрытие внутренней реализации
  2. Наследование — создание новых классов на основе существующих
  3. Полиморфизм — возможность объектов обрабатываться по-разному
  4. Абстракция — работа с объектами на высоком уровне

1. Классы и объекты

1.1. Что такое класс?

Класс — это шаблон для создания объектов, определяющий их структуру и поведение.

class Person
{
    // Поля (данные)
    public string Name;
    public int Age;
    
    // Метод (поведение)
    public void Introduce()
    {
        Console.WriteLine($"Меня зовут {Name}, мне {Age} лет.");
    }
}

1.2. Создание объектов

// Создание объекта
Person person1 = new Person();
person1.Name = "Иван";
person1.Age = 30;
person1.Introduce(); // Выведет: "Меня зовут Иван, мне 30 лет."

2. Инкапсуляция

Скрытие внутренних деталей реализации и защита данных.

class BankAccount
{
    // Приватное поле
    private decimal balance;

    // Публичный метод для доступа
    public void Deposit(decimal amount)
    {
        if (amount > 0)
            balance += amount;
    }

    public decimal GetBalance() => balance;
}

3. Наследование

Создание новых классов на основе существующих.

class Animal
{
    public string Name { get; set; }

    public virtual void MakeSound()
    {
        Console.WriteLine("Some sound");
    }
}

class Dog : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Гав!");
    }
}

4. Полиморфизм

Один интерфейс — множество реализаций.

Animal myAnimal = new Dog();
myAnimal.MakeSound(); // Выведет: "Гав!"

5. Абстрактные классы и интерфейсы

5.1. Абстрактные классы

abstract class Shape
{
    public abstract double CalculateArea();
}

class Circle : Shape
{
    public double Radius { get; set; }

    public override double CalculateArea()
    {
        return Math.PI * Radius * Radius;
    }
}

5.2. Интерфейсы

interface IDrawable
{
    void Draw();
}

class Square : IDrawable
{
    public void Draw()
    {
        Console.WriteLine("Рисую квадрат");
    }
}

Заключение

ООП в C# предоставляет мощные инструменты для создания сложных и поддерживаемых приложений. Освоив классы, объекты и четыре принципа ООП, вы сможете писать более качественный и структурированный код.

Практическое задание

  1. Создайте класс "Car" с полями: модель, год выпуска, цвет
  2. Добавьте методы: StartEngine(), Accelerate(), Brake()
  3. Создайте производный класс "ElectricCar" с дополнительным полем "BatteryCapacity"
  4. Реализуйте интерфейс "IVehicle" с методом GetInfo()

Статья сгенерирована AI.