Объектно-ориентированное программирование (ООП) – это методология программирования, основанная на концепции объектов. В 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# позволяют создавать надежные, масштабируемые и легко поддерживаемые приложения. Использование инкапсуляции, наследования, полиморфизма и абстракции помогает писать чистый и структурированный код.