Совместное использование заботу!

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

Абстрактный класс в C# — это, по сути, класс, который не позволяет создавать объекты. «Абстрактный» — это ключевое слово или модификатор, который делает этот конкретный класс или метод абстрактным или ограниченным. Доступ к абстрактному классу возможен только через наследование от другого класса.

Основные выводы

  1. Абстрактные классы — это неполные классы, которые не могут быть созданы, но служат основой для наследования другими.
  2. Они содержат по крайней мере одну чисто виртуальную функцию, то есть она не имеет реализации и должна быть определена любым производным классом.
  3. Абстрактные классы могут иметь переменные-члены и функции-члены с реализацией, но к ним нельзя получить доступ через объекты абстрактного класса.

Свойства и компоненты абстрактного класса в C#

Для инициации или доступа к абстрактному классу должны присутствовать определенные факторы. Они были перечислены следующим образом.

  1. Абстрактный класс создает базовый класс, к которому обычно обращаются несколько производных классов. Программисты должны создать производный класс для использования или реализации абстрактного класса.
  2. Таким образом, абстрактный класс должен наследоваться подклассами, которые могут даже переопределить функцию.
  3. Каждый абстрактный класс требует по крайней мере один абстрактный метод.
Читайте также:  WCDMA против HSDPA: разница и сравнение

Пример абстрактного класса в C#

Так как механизм сложен и понятен только тем, кто знаком с программированием язык, лучше начать с простого примера, который поможет объяснить концепцию.

Предположим, существует класс «Дерево» с существующим разработанным методом, известным как «тип». Больше ничего не определено, и никакой другой конкретной информации не предоставлено — никто не знает ни вида дерева, ни возможных типов.

Если имеется конкретный пример дерева, то создается отдельный класс путем наследования базового класса Tree. Идея состоит в том, что новый класс, скажем, Pine или дуб, не может изменить конструкцию или определение базового класса, то есть Tree. Он должен создать свой класс, производный от дерева классов, и определить другой метод, унаследованный от базы.

Преимущества абстрактного класса в C#

  1. Хотя подклассы могут либо реализовать, либо переопределить абстрактный класс, некоторые поправки могут быть сделаны, которые требуют реализации определенной функции.
  2. Таким образом, существует большая степень гибкости при проектировании абстрактного класса в отношении того, какие методы должны быть императивно реализованы.
  3. Программист может выбрать, сколько абстрактных методов ему нужно в абстрактном классе. Также возможно написать код без включения абстрактных методов.
  4. Абстрактный класс должен быть определен только один раз, и к нему можно обращаться столько раз, сколько необходимо.
  5. Абстрактный класс очень полезен, когда есть набор классов, которые имеют определенную степень общности, но отличаются своей реализацией абстрактного класса.
Читайте также:  Блог против написания контента: разница и сравнение

Недостатки абстрактного класса в C#

  1. Абстрактный класс можно добавить в иерархию классов, только если абстрактных классов не существует.
  2. На объекты любого абстрактного класса можно только ссылаться, но никогда не создавать.
  3. Несмотря на то, что абстрактные классы не могут быть созданы, они не позволяют использовать статические переменные или методы.
Рекомендации
  1. https://books.google.co.in/books?hl=en&lr=&id=UbJa11wLcqYC&oi=fnd&pg=PA125&dq=Abstract+Class+in+C%23&ots=y9lmboLlHj&sig=kk5oYAJSHpmo-FyHphcAlkUh4cc&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
  2. https://books.google.co.in/books?hl=en&lr=&id=-w9ftEtwPGwC&oi=fnd&pg=PP8&dq=Abstract+Class+in+C%23&ots=XXCx6-5nlm&sig=CYfs0myaTnm1anSz4QUGcZ65uS4&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
точка 1
Один запрос?

Я приложил столько усилий, чтобы написать этот пост в блоге, чтобы предоставить вам ценность. Это будет очень полезно для меня, если вы подумаете о том, чтобы поделиться им в социальных сетях или со своими друзьями/родными. ДЕЛИТЬСЯ ♥️

Хотите сохранить эту статью на потом? Нажмите на сердечко в правом нижнем углу, чтобы сохранить в свой собственный блок статей!

By Сандип Бхандари

Сандип Бхандари имеет степень бакалавра вычислительной техники Университета Тапар (2006 г.). Имеет 20-летний опыт работы в сфере технологий. Он проявляет большой интерес к различным техническим областям, включая системы баз данных, компьютерные сети и программирование. Подробнее о нем можно прочитать на его био страница.