Абстракция в C#
НАВИГАЦИЯ ПО СТРАНИЦЕ
Абстракция в объектно-ориентированном программировании (ООП) означает выделение общих характеристик объекта и игнорирование конкретных деталей, которые не являются необходимыми для текущей задачи. Она позволяет сфокусироваться на важных аспектах объекта, игнорируя ненужные детали реализации.
Абстрактные классы :
Абстрактные классы представляют собой классы, которые не могут быть инстанциированы напрямую, а могут содержать абстрактные методы, не имеющие реализации. Они предоставляют основу для других классов, требуя от них реализации абстрактных методов.
Пример абстрактного класса с абстрактным методом:
public abstract class Shape
{
public abstract void Draw();
}
public class Circle : Shape
{
public override void Draw()
{
Console.WriteLine("Drawing a circle");
}
}
public class Rectangle : Shape
{
public override void Draw()
{
Console.WriteLine("Drawing a rectangle");
}
}
Интерфейсы :
Интерфейсы представляют собой контракт, определяющий методы и их сигнатуры, но не содержащий реализации. Классы могут реализовывать интерфейсы, обеспечивая реализацию всех методов, определенных в интерфейсе.
Пример интерфейса:
public interface IShape
{
void Draw();
}
public class Circle : IShape
{
public void Draw()
{
Console.WriteLine("Drawing a circle");
}
}
public class Rectangle : IShape
{
public void Draw()
{
Console.WriteLine("Drawing a rectangle");
}
}
Абстракция позволяет скрыть детали реализации, фокусируясь на важных аспектах объектов. Это упрощает процесс проектирования программы, делает код более читаемым и обеспечивает гибкость при изменении и дополнении программы.