Реализация принципов ООП в C#

Объектно-ориентированное программирование (ООП) – это методология программирования, основанная на концепции объектов. В C# реализованы все четыре ключевых принципа ООП: инкапсуляция, наследование, полиморфизм и абстракция. Рассмотрим, как они применяются на практике.

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

Инкапсуляция заключается в сокрытии деталей реализации и предоставлении доступа к данным только через определённые методы.

Пример инкапсуляции:

public class Person
{
    private string name;
    
    public string Name
    {
        get { return name; }
        set { name = value; }
    }
}

Здесь поле name скрыто от внешнего мира, а доступ к нему осуществляется через свойство Name.

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

Наследование позволяет создавать новые классы на основе существующих, что способствует повторному использованию кода.

Пример наследования:

public class Animal
{
    public void Speak()
    {
        Console.WriteLine("Animal is making a sound");
    }
}

public class Dog : Animal
{
}

Класс Dog наследует свойства и методы класса Animal.

Полиморфизм

Полиморфизм позволяет работать с разными типами данных через единый интерфейс.

Пример полиморфизма:

public class Animal
{
    public virtual void Speak()
    {
        Console.WriteLine("Animal is making a sound");
    }
}

public class Dog : Animal
{
    public override void Speak()
    {
        Console.WriteLine("Dog is barking");
    }
}

Абстракция

Абстракция позволяет скрывать детали реализации и работать с объектами на более высоком уровне.

Пример абстракции:

public abstract class Animal
{
    public abstract void Speak();
}

public class Dog : Animal
{
    public override void Speak()
    {
        Console.WriteLine("Dog is barking");
    }
}

Принципы ООП в C# позволяют создавать надежные, масштабируемые и легко поддерживаемые приложения. Использование инкапсуляции, наследования, полиморфизма и абстракции помогает писать чистый и структурированный код.