Diferència clau: classe vs interfície
La programació orientada a objectes (OOP) és un paradigma comú en el desenvolupament de programari. Ajuda a portar escenaris del món real a la programació mitjançant classes i objectes. Una classe és un pla per crear un objecte. El programador pot crear una classe amb propietats i mètodes. Un alumne i un professor són objectes. La creació d'un objecte es coneix com a instanciació. OOP també utilitza interfícies. Les interfícies i la classe poden semblar similars, però tenen una diferència. En aquest article es parla de la diferència entre una classe i una interfície. La diferència clau entre una classe i una interfície és que una classe és un tipus de referència que és un pla per crear una instancia d'un objecte mentre que la interfície és un tipus de referència que no es pot utilitzar per crear una instancia d'un objecte.
Què és la classe?
A POO, tot es considera com un objecte. No és possible crear un objecte sense classe. Una classe és un pla per crear un objecte. Quan es construeix una casa, l'arquitecte dibuixa el plànol. El pla és semblant a una classe. La casa és semblant a l'objecte. La classe és el pla per construir un objecte. Un objecte és el que es crea amb la classe.
La classe conté les propietats i els mètodes. Un estudiant pot tenir propietats com el nom, la qualificació, el número d'índex. Un estudiant pot tenir mètodes com llegir, caminar, estudiar. Es crea una classe amb les propietats i mètodes necessaris.
La sintaxi per crear una classe en molts llenguatges de programació és la següent. Es crea amb la classe de paraula clau.
class class_name {
// propietats
//mètodes
}
Els llenguatges de programació com ara C i Java segueixen una sintaxi similar per crear un objecte mitjançant una classe. Suposem que el nom de la classe és Estudiant.
Estudiant s1=Estudiant nou ();
Aquest s1 és l'objecte. La paraula clau "new" s'utilitza per assignar memòria per a les propietats. Una classe també té un constructor per inicialitzar propietats o variables.
Els membres de la classe, com ara propietats i mètodes, tenen modificadors d'accés. Els especificadors d'accés descriuen l'accessibilitat i la visibilitat d'aquests membres a altres classes. Els membres de la classe poden tenir especificadors d'accés com ara públic, privat i protegit. Els membres públics són accessibles per altres classes. Els membres privats només són accessibles a la classe. Els membres protegits són accessibles dins de la classe i de les subclasses rellevants.
Què és la interfície?
L'abstracció és un pilar de la programació orientada a objectes. És per ocultar els detalls de la implementació i mostrar la funcionalitat a l'usuari. L'abstracció s'aconsegueix mitjançant classes i interfícies abstractes. Un mètode abstracte no té cap implementació. Una classe que conté almenys un mètode abstracte s'anomena classe abstracta.
Quan hi ha dues classes abstractes, s'han d'implementar els mètodes declarats en aquestes classes. S'utilitza una nova classe per implementar aquests mètodes. Si ambdues classes tinguessin el mateix mètode, podria causar un problema d'ambigüitat. Per tant, els llenguatges de programació com Java i C tenen una interfície.
Les interfícies només contenen la declaració de mètodes. No hi ha cap mètode d'implementació. A més, les interfícies no es poden utilitzar per crear objectes. S'utilitzen per admetre múltiples herències i protegir el codi.
La sintaxi de la interfície és la següent. Interfície utilitza la paraula clau "interfície".
interfície nom_interfície{
type method1(parameter_list);
type method2(parameter_list);
}
Segons l'anterior, les interfícies només tenen la declaració. No hi ha cap definició. Per tant, les interfícies no poden instanciar objectes. Només ofereix una visió abstracta de què és la interfície. Els mètodes declarats a la interfície poden ser implementats per una o moltes classes. Una classe utilitza la paraula clau "implementar" per implementar una interfície. Consulteu l'exemple següent escrit amb Java.
Figura 01: programa que utilitza interfícies
Segons el programa anterior, A i B són interfícies. La interfície A té una declaració de mètode que és la suma(). La interfície B té una declaració de mètode sub(). La classe C està implementant les dues interfícies que són A i B. Per tant, la classe C defineix els mètodes sum() i sub(). Després de crear l'objecte de tipus C, és possible cridar els dos mètodes sum() i sub().
Els mètodes declarats dins de la interfície han de ser sempre públics perquè les classes d'implementació els defineixen. Una interfície també pot heretar d'una altra interfície.
Quines similituds hi ha entre la classe i la interfície?
- Tots dos són tipus de referència.
- Tots dos es relacionen amb la programació orientada a objectes.
Quina diferència hi ha entre la classe i la interfície?
Classe vs interfície |
|
Una classe és un tipus de referència que és un pla per crear un objecte. | Una interfície és un tipus de referència que no es pot instanciar. |
Instanciació d'objectes | |
S'utilitza una classe per crear una instancia d'un objecte. | No es pot crear una interfície perquè els mètodes no poden dur a terme cap acció. |
Constructor | |
Una classe conté un constructor, per inicialitzar les variables. | Una interfície no conté un constructor perquè gairebé no són variables per inicialitzar. |
Paraula clau | |
Una classe utilitza la paraula clau "classe". | Una interfície utilitza la paraula clau "interfície". |
Especificador d'accés | |
Els membres de la classe poden ser privats, públics i protegits. | Els membres de la interfície han de ser sempre públics perquè les classes d'implementació els defineixen. |
Resum: classe vs interfície
Les classes i les interfícies s'utilitzen àmpliament en la programació orientada a objectes. La diferència entre una classe i una interfície és que una classe és un tipus de referència que és un pla per crear una instancia d'un objecte i la interfície és un tipus de referència que no es pot utilitzar per crear una instancia d'un objecte. Una classe pot implementar moltes interfícies. Però només pot estendre una superclasse. A la interfície pot heretar moltes interfícies però no hi ha cap implementació. Tots dos tenen la seva importància. El programador els pot utilitzar segons el programari de desenvolupament.
Baixa la classe PDF vs la interfície
Podeu baixar la versió PDF d'aquest article i utilitzar-la per a finalitats fora de línia segons la nota de citació. Baixeu la versió PDF aquí Diferència entre classe i interfície