Що таке абстрактний клас у C#? | Визначення, властивості та приклади

Абстракція в програмуванні означає приховування непотрібної, хоча й дуже важливої ​​інформації, і надання користувачеві видимості лише певної ключової або необхідної інформації. Це стало можливим завдяки використанню абстрактних класів.

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

Ключові винесення

  1. Абстрактні класи — це неповні класи, які не можуть бути створені, але служать основою для успадкування інших.
  2. Вони містять принаймні одну чисту віртуальну функцію, тобто вона не має реалізації та має бути визначена будь-яким похідним класом.
  3. Абстрактні класи можуть мати змінні-члени та функції-члени з реалізацією, але до них не можна отримати доступ через об’єкти абстрактного класу.

Властивості та компоненти абстрактного класу в C#

Для ініціації абстрактного класу або доступу до нього повинні бути певні фактори. Вони були перераховані таким чином.

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

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

Так як механізм складний і зрозумілий лише тим, хто знайомий з програмуванням мова, краще почати з простого прикладу, який допоможе пояснити концепцію.

Також читайте:  VMware Player проти Workstation: різниця та порівняння

Припустімо, що існує клас «Дерево» з існуючим розробленим методом, відомим як «тип». Нічого іншого не визначено, і жодної іншої конкретної інформації не надається – ніхто не знає типу дерева чи можливих типів.

Якщо доступний конкретний приклад дерева, то створюється окремий клас через успадкування базового класу Tree. Ідея полягає в тому, що новий клас, скажімо, Pine or дуб, не може змінювати конструкцію чи визначення базового класу, тобто Дерева. Він повинен створити свій клас, похідний від класу 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
Також читайте:  IoT проти великих даних: різниця та порівняння

Останнє оновлення: 11 червня 2023 р

крапка 1
Один запит?

Я доклав стільки зусиль для написання цього допису в блозі, щоб надати вам користь. Це буде дуже корисно для мене, якщо ви захочете поділитися цим у соціальних мережах або зі своїми друзями/родиною. ДІЛИТИСЯ ЦЕ ♥️

23 думки на тему “Що таке абстрактний клас у C#? | Визначення, властивості та приклади»

Залишити коментар

Хочете зберегти цю статтю на потім? Клацніть сердечко в нижньому правому куті, щоб зберегти у власній коробці статей!