Èíòåðôåéñè
Èíòåðôåéñèòå âúâ VB.NET ñà êàòî èíòåðôåéñèòå â
ïðåäèøíèòå âåðñèè íà VB: Äåôèíèöèè íà êëàñà áàç àêòóàëíî èçïúëíåíèå. Çàùîòî
íÿìà èçïúëíèì êîä, íå ìîæå äà ñå èíñòàíöèðà èíòåðôåéñà, íàìåñòî òîâà òðÿáâà äà
ñå èçïúëíè â êëàñà.
Èìà åäíî èçêëþ÷åíèå çà ïðàâèëîòî "íå èçïúëíèì êîä â èíòåðôåéñà": Âúâ VB.NET, ìîæå äà äåôèíèðàòå òàêà íàðå÷åíèòå
ñòàòè÷íè ÷ëåíîâå (static members).
Êàòî ïðîãðàìèñòè ïîä VB, òðÿáâà äà îñúùåñòâèì êàïñóëàöèÿòà ÷ðåç ñîôòóåðíè êîìïîíåíòè.
Âúâ VB .NET, ìåòîäèòå íà èíòåðôåéñà ñå ðåàëèçèðàò êàòî ôóíêöèè (functions). Îò äðóãà ñòðàíà, ñâîéñòâàòà ñå ðåàëèçèðàò êàòî ïðîìåíëèâè - private êîèòî ñúõðàíÿâàò ñòîéíîñòòà íà
ñâîéñòâîòî çàåäíî ñ äâîéêà ôóíêöèè - public functions--åäíà çà ïîäàâàíå (óñòàíîâÿâàíå) íà ïðîìåíëèâàòà è åäíà çà
âðúùàíåòî é (ïîëó÷àâàíåòî). Òåçè ôóíêöèè ñå íàðè÷àò ïîíÿêîãà ìåòîäè çà äîñòúï (accessor methods) íà ñâîéñòâîòî. Ìíîæåñòâîòî îò èçëîæåíè (exposed) ôóíêöèè (îáèêíîâåíè ìåòîäè è ìåòîäè çà
äîñòúï) êîíñòèòóèðàò èíòåðôåéñà -interface íà àáñòðàêöèÿòà.
Ãåíåðàëíî åäèí ñîôòóåðåí êîìïîíåíò ìîæå äà êàïñóëèðà è èçëîæè
ïîâå÷å îò åäíà àáñòðàêöèÿ--îòòóê è
ïîâå÷å îò åäèí èíòåðôåéñ. Ïðèìåðíî áèõìå èñêàëè ñîôòóåðåí êîìïîíåíò â
ïðîåêòà íè çà ñëóæèòåë
íà êîìïàíèÿ, êîéòî äà êàïñóëèðà èíòåðôåéñ, íàðå÷åí IIdentification
(ïúðâàòà áóêâà "I" å çà èíòåðôåéñ) , êîéòî äà íè ñëóæè çà öåëèòå íà
èäåíòèôèêàöèÿòà. Òîçè èíòåðôåéñ ìîæå äà
èìà ñâîéñòâà êàòî Name (èìå), Social Nomer (íîìåð ñîöèàëíà îñèãóðîâêà), DriveNomer (íîìåð íà øîôüîðñêà êíèæêà), Vuzrast(âúçðàñò), Birthmarks (áåëåã ïî ðîæäåíèå), è òàêà íàòàòúê. Íåùî
ïîâå÷å, ñîôòóåðíèÿò
êîìïîíåíò ìîæå äà êàïñóëèðà èíòåðôåéñ íàðå÷åí IEducation çà îïèñâàíå îáðàçîâàíèåòî íà
ñëóæèòåëÿ. Òîçè èíòåðôåéñ
ìîæå äà âêëþ÷âà ñâîéñòâà êàòî Education Level (íèâî îáðàçîâàíèå), Diplomi(äèïëîìè) è òàêà íàòàòúê.
Èíòåðôåéñúò íà âñÿêà àáñòðàêöèÿ èçëîæåí
(ïðåäñòàâåí) âúâ ñîôòóåðíèÿ êîìïîíåíò ñå íàðè÷à èíòåðôåéñ íà ñîôòóåðíèÿ
êîìïîíåíò (software component). Êîìïîíåíòúò
Ñëóæèòåë (Slujasht) âêëþ÷âà âå÷å äâà èíòåðôåéñà:
IIdentification è IEducation.
Òðÿáâà äà îòáåëåæèì, ÷å ïîíÿòèåòî èíòåðôåéñ ÷åñòî ñå ñâúðçâà ñ ìíîæåñòâîòî
îò âñè÷êè èçëîæåíè ñâîéñòâà è
ìåòîäè îò ñîôòóåðíèÿ êîìïîíåíò, êàòî â òîçè ñëó÷àé êîìïîíåíòà èìà ñàìî åäèí èíòåðôåéñ.
Âðúùàéêè ñå êúì îðèãèíàëíàòà àáñòðàêöèÿ "Ñëóæèòåë" (Slujasht), íåéíèÿò èíòåðôåéñ
ìîæå äà ñå ñúñòîè îò ôóíêöèèòå ïîêàçàíè â Òàáëèöà 1.
Òàáëèöà 1.
| ×ëåíîâå (Members)íà èíòåðôåéñà íà Slujasht | |
| Type | Name |
| Property | FullName: GetFullName(), SetFullName( ) |
| Property | Address: GetAddress(), SetAddress( ) |
| Property | SlujashtID: GetSlujashtID(), SetSlujashtID( ) |
| Property | Zaplata: GetZaplata(), SetZaplata( ) |
| Method | IncZaplata( ) |
| Method | DecZaplata ( ) |