Què són les interfícies en C++

Que Son Les Interficies En C



Les interfícies, conegudes comunament com a classes abstractes, són només una font per descriure el comportament de la classe sense haver-se compromès amb la implementació de la classe. No hi ha un concepte integrat d'interfícies a la programació C++. Per començar a crear una interfície, primer hem d'establir una classe abstracta només amb funcions virtuals pures.

Les interfícies en C++ s'apliquen mitjançant classes abstractes. D'altra banda, una classe s'anomena classe abstracta si almenys una funció dins d'una classe es declara com a funció virtual pura.

Què és la funció virtual pura

El Pura funció virtual significa que els usuaris només declaren la funció i no la seva definició. La substitució de mètodes/funcions s'utilitza per implementar mètodes virtuals purs a la classe derivada. Una funció es considera virtual pura si es descriu dins de la classe com es mostra a continuació:







Aquí teniu la sintaxi de a Pura funció virtual de l'aula de classe.



classe Habitació {
públic :
// funció virtual pura
virtual doble Getaria ( ) = 0 ;

privat :
doble llargada ; // Longitud d'una habitació
doble Amplada ; // Amplada d'una habitació
} ;

Què és la classe abstracta

Una classe que es va crear específicament amb el propòsit de servir com a classe base s'anomena an classe abstracta . Almenys una funció virtual pura ha d'estar present a la classe abstracta. Pot incloure variables i funcions estàndard. Les classes derivades que té la classe abstracta, haurien d'implementar una funció virtual pura de la classe base, o en cas contrari es tornaran abstractes.



Considereu l'exemple següent, en què la classe pare dóna una interfície a una classe base per tal que la classe base pugui aplicar una funció virtual pura anomenada getArea() . Dues classes diferents fan servir el mateix getArea() funció, però la sortida per als dos casos serà diferent.





#inclou
utilitzant espai de noms std ;
classe Forma
{
públic :
virtual int Getaria ( ) = 0 ;
buit setWidth ( int amb )
{
amplada = amb ;
}

buit setLength ( int lth )
{
llargada = lth ;
}

protegit :
int amplada ;
int llargada ;
} ;

classe Rectangle : públic Forma
{
públic : int Getaria ( )
{
tornar ( amplada * llargada ) ;
}
} ;

classe Triangle : públic Forma
{
públic : int Getaria ( )
{
tornar ( amplada * llargada ) / 2 ;
}
} ;

int principal ( buit )
{
Rectangle R ;
Triangle T ;
R. setWidth ( 9 ) ;
R. setLength ( 5 ) ;
cout << 'Àrea del rectangle:' << R. Getaria ( ) << endl ;
T. setWidth ( 9 ) ;
T. setLength ( 5 ) ;
cout << 'Àrea del triangle:' << T. Getaria ( ) << endl ;
tornar 0 ;
}

Sortida



Importància de les interfícies

Qualsevol classe derivada d'una classe abstracta pura (Interface) sempre hauria d'implementar cadascun dels mètodes de la classe base, és a dir, Interface. Els punters d'interfície es podrien passar tant a les funcions com a les classes, cosa que ens permetria cridar les funcions de la classe derivada des d'allà mateix.

Quines són les regles per utilitzar les interfícies

Hi ha les següents regles que els usuaris haurien de seguir per utilitzar interfícies en C++:

  • Declara només funcions virtuals pures.
  • S'ha assignat només 0 a funcions virtuals pures.
  • No creeu la interfície de les classes.
  • Utilitzant una referència a una classe abstracta base, podem crear un punter a una instància de la classe derivada.

Al codi següent, una interfície linuxhint , com una classe abstracta s'ha creat utilitzant un mètode virtual pur, així com la seva funció s'aplica a la classe fill, i hem anomenat el returnString() mètode a la funció principal seguint les regles de la interfície.

#inclou
#inclou
#inclou
utilitzant espai de noms std ;

classe linuxhint
{
públic :
virtual string returnString ( ) = 0 ;
} ;
classe nen : públic linuxhint
{
públic :
string returnString ( )
{
tornar 'Hola Linuxhint' ;
}
} ;
int principal ( )
{
fill fill_objecte ;
linuxhint * pntr ;
pntr = & objecte_infant ;
cout < returnString ( ) ;
tornar 0 ;
}

Sortida

Conclusió

Les interfícies són classes abstractes que descriuen el comportament de la classe que cal implementar la classe requerida en C++. Les directrius esmentades anteriorment són crucials perquè un principiant millori les seves habilitats de programació en C++ treballant amb les interfícies. També trobareu alguns exemples que us ajudaran a aprendre la implementació d'interfícies en C++.