Преглед садржаја:
Дефиниција - Шта значи имплементација интерфејса?
Имплементација интерфејса, у Ц #, односи се на наследство интерфејса од стране структуре или класе која пружа функционалност за чланове који су декларисани у интерфејсу. Чланови имплементираног сучеља могу укључивати методе, својства, индексере и догађаје.
Уопштено, интерфејс представља уговор који се мора придржавати класа или структура која имплементира све чланове наведене у интерфејсу. Кључне предности имплементације сучеља укључују флексибилност, ниску повезаност, високу кохезију и полиморфно понашање.
У Ц #, имплементација интерфејса омогућава да класа наследи са више интерфејса уместо више класа тако да више наслова може бити наслеђено кроз више интерфејса који деле само потписе метода. Интерфејс се може имплементирати као својство како би се одредило да ли је својство читање-писање, само за читање или само за писање. Интерфејс се може експлицитно имплементирати како би сакрио члана и заменио га другим. За разлику од Јава, експлицитна имплементација Ц # интерфејса омогућава вишеструким интерфејсима са истим именом и потписима методе, да имају различите имплементације без икаквог сукоба имена и дају различите резултате на основу тренутног уноса објекта.
Тецхопедиа објашњава имплементацију интерфејса
Слично као апстрактна класа, интерфејс не пружа подразумевану имплементацију. Члан класе или структуре која имплементира члана интерфејса мора бити јавна, нестатична и имати исто име и потпис као у интерфејсу.
На пример, ИАццоунт интерфејса може имплементирати класа СавингАццоунт која имплементира чланове ИАццоунт који могу укључивати БаланцеАмоунт, ДатеОфОпенинг итд. Као своја својства и методе попут ПринтСтатемент, ЦалцулатеИнтерест итд.
Имплементација интерфејса може бити имплицитна када базна класа изведене класе већ имплементира интерфејс. Сва основна сучеља не морају бити изричито наведена у попису основне класе изведене класе. Поред тога, изведена класа може променити понашање интерфејса које је већ дефинисано у основној класи надјачавањем виртуелних чланова у изведеној класи.
Имплементација интерфејса је изричита када чланови два или више интерфејса који имају исто име са истим потписом, али који обављају две различите функције, наслеђују класа или структура која експлицитно имплементира сваки члан. Таквом члану је додељено име интерфејса и периода и њему се може приступити само путем инстанције интерфејса. За разлику од имплицитних метода, експлицитни методи не могу бити апстрактни или виртуелни.