Kaj so vmesniki v C++

Kaj So Vmesniki V C



Vmesniki, splošno znani kot abstraktni razredi, so samo vir opisovanja vedenja razreda, ne da bi se zavezali implementaciji razreda. V programiranju C++ ni vgrajenega koncepta vmesnikov. Za začetek ustvarjanja vmesnika moramo najprej vzpostaviti abstraktni razred samo s čistimi virtualnimi funkcijami.

Vmesniki v C++ se uporabljajo z uporabo abstraktnih razredov. Po drugi strani pa se razred imenuje abstrakten razred, če je vsaj ena funkcija znotraj razreda deklarirana kot čista virtualna funkcija.

Kaj je čista virtualna funkcija

The Čista virtualna funkcija pomeni, da uporabniki samo deklarirajo funkcijo in ne njene definicije. Preglasitev metode/funkcije se uporablja za implementacijo čistih virtualnih metod v izpeljanem razredu. Funkcija velja za čisto virtualno, če je opisana znotraj razreda, kot je navedeno spodaj:







Tukaj je sintaksa a Čista virtualna funkcija učilnice.



razred Soba {
javnosti :
// čista virtualna funkcija
virtualni dvojno Getaria ( ) = 0 ;

zasebno :
dvojno dolžina ; // Dolžina sobe
dvojno Premer ; // Širina sobe
} ;

Kaj je abstraktni razred

Razred, ki je bil ustvarjen posebej za namene, da služi kot osnovni razred, se imenuje an abstraktni razred . V abstraktnem razredu mora biti prisotna vsaj ena čista virtualna funkcija. Lahko vključuje spremenljivke in standardne funkcije. Izpeljani razredi, ki jih ima abstraktni razred, bi morali izvajati čisto virtualno funkcijo osnovnega razreda, sicer bodo postali abstraktni.



Razmislite o naslednjem primeru, v katerem nadrejeni razred daje vmesnik osnovnemu razredu, da osnovni razred uporabi čisto virtualno funkcijo, imenovano getArea() . Dva različna razreda uporabljata isto getArea() funkcijo, vendar bo rezultat za oba primera drugačen.





#include
uporabo imenski prostor std ;
razred oblika
{
javnosti :
virtualni int Getaria ( ) = 0 ;
praznina setWidth ( int wth )
{
premer = wth ;
}

praznina setLength ( int lth )
{
dolžina = lth ;
}

zaščiten :
int premer ;
int dolžina ;
} ;

razred Pravokotnik : javnosti oblika
{
javnosti : int Getaria ( )
{
vrnitev ( premer * dolžina ) ;
}
} ;

razred Trikotnik : javnosti oblika
{
javnosti : int Getaria ( )
{
vrnitev ( premer * dolžina ) / 2 ;
}
} ;

int glavni ( praznina )
{
Pravokotnik R ;
Trikotnik T ;
R. setWidth ( 9 ) ;
R. setLength ( 5 ) ;
cout << 'Območje pravokotnika: ' << R. Getaria ( ) << konec ;
T. setWidth ( 9 ) ;
T. setLength ( 5 ) ;
cout << 'Površina trikotnika:' << T. Getaria ( ) << konec ;
vrnitev 0 ;
}

Izhod



Pomen vmesnikov

Vsak razred, izpeljan iz čistega abstraktnega razreda (vmesnika), mora vedno implementirati vsako od metod osnovnega razreda, tj. vmesnika. Kazalci vmesnika se lahko posredujejo funkcijam in razredom, kar nam omogoča, da od tam pokličemo funkcije izpeljanega razreda.

Kakšna so pravila za uporabo vmesnikov

Za uporabo vmesnikov v C++ morajo uporabniki upoštevati naslednja pravila:

  • Deklarirajte samo čiste virtualne funkcije.
  • Čistim virtualnim funkcijam je dodeljena samo 0.
  • Ne ustvarjajte vmesnika razredov.
  • Z uporabo sklicevanja na osnovni abstraktni razred lahko ustvarimo kazalec na primerek izpeljanega razreda.

V naslednji kodi je vmesnik linuxhint , tako kot je bil abstraktni razred ustvarjen z uporabo čiste virtualne metode, njegova funkcija pa je uporabljena v podrejenem razredu, mi pa smo poklicali returnString() metodo v glavni funkciji z upoštevanjem pravil vmesnika.

#include
#include
#include
uporabo imenski prostor std ;

razred linuxhint
{
javnosti :
virtualni niz returnString ( ) = 0 ;
} ;
razred otrok : javnosti linuxhint
{
javnosti :
niz returnString ( )
{
vrnitev 'Pozdravljeni Linuxhint' ;
}
} ;
int glavni ( )
{
otrok otroški_predmet ;
linuxhint * pntr ;
pntr = & otroški_predmet ;
cout < returnString ( ) ;
vrnitev 0 ;
}

Izhod

Zaključek

Vmesniki so abstraktni razredi, ki opisujejo vedenje razreda, ki potrebuje implementacijo zahtevanega razreda v C++. Zgoraj omenjene smernice so ključnega pomena za začetnike, da izboljšajo svoje veščine programiranja C++ z delom z vmesniki. Našli boste tudi nekaj primerov, ki vam bodo pomagali pri učenju implementacije vmesnikov v C++.