Интерфейси
Интерфейсите във 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 ( ) |