C# Апстрактни класи

 

    Апстрактна класа се користи за да се дефинира она што е познато како основна класа. Основна класа е класа која има најосновна дефиниција за одредено барање.
Типичен пример за апстрактна класа е даден подолу. Подолу е дефиницијата за класа наречена „zivotno.“ Кога се дефинира класата „zivotno“, нема ништо познато за животното, без разлика дали станува збор за куче или мачка. Методот наречен опис е само генерички метод дефиниран за класата.

 

 

    Сега, кога се знае што точно ќе биде zivotnoто, создаваме друга класа што ја наследува основната класа. Ако знаеме дека животното е всушност Куче, создаваме класа Куче која ја наследува главната основна класа. Клучната разлика овде е дека класата Куче не може да ја смени дефиницијата за методот Опис на класата zivotno. Треба да дефинира сопствен метод наречен Opis_Kuce. Ова е основниот концепт на апстрактни класи.

 

 

Ајде да видиме како можеме да го смениме нашиот код за да ја вклучиме апстрактна класа. Забележете дека нема да го работиме кодот, бидејќи нема ништо што може да се изврши со помош на апстрактна класа.
Чекор 1) Како прв чекор, да создадеме апстрактна класа. Класата ќе се вика Tutorial и ќе има само еден метод. Целиот код треба да биде запишан во датотеката Program.cs.

 

 

Објаснување на кодот:
1. Прво ја дефинираме апстрактната класа. Забележете ја употребата на abstract клучниот збор. Ова се користи за да се означи дека класата е апстрактна класа.
2. Следно, ние го дефинираме нашиот метод кој не прави ништо. Методот мора да го има клучниот збор наречен virtual. Ова значи дека методот не може да се промени од детската класа. Ова е основно барање за секоја апстрактна класа.

Чекор 2) Сега да ја додадеме нашата детска класа. Овој код се додава во датотеката Program.cs.

 

 

Нема ништо посебно во овој код. Ние само дефинираме класа наречена „Guru99Tutorial“ која ја наследува апстрактната класа Tutorial. Потоа ги дефинираме истите методи што ги користевме од порано.


Забелешка: Овде не можеме да ја смениме дефиницијата за методата Set која беше дефинирана во класата Tutorial. Во класата Почетен курс, ние дефиниравме метод наречен „Постави“ (јавна виртуелна празнина Постави ()). Бидејќи методот беше дел од апстрактната класа, не ни е дозволено повторно да го дефинираме методот Set во класата Guru99Tutorial.