Diferència entre classe i interfície a Java

Autora: Laura McKinney
Data De La Creació: 2 Abril 2021
Data D’Actualització: 17 Ser Possible 2024
Anonim
Diferència entre classe i interfície a Java - Tecnologia
Diferència entre classe i interfície a Java - Tecnologia

Content


Ambdues classes i interfície s’utilitzen per crear nous tipus de referència. Una classe és una col·lecció de camps i mètodes que funcionen en camps. Una interfície té mètodes totalment abstractes, és a dir, mètodes sense ningú. Una interfície és sintàcticament similar a la classe, però hi ha una diferència important entre la classe i la interfície que és una classe que es pot instanciar, però una interfície mai no es pot iniciar. Aprenem, doncs, alguna diferència més entre una classe i la interfície amb l’ajut d’un gràfic de comparació que es mostra a continuació.

  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació

Bases per a la comparacióClasseInterfície
BàsicUna classe s’inicia per crear objectes.La interfície no es pot iniciar mai, ja que els mètodes no poden realitzar cap acció per invocar.
Paraula clauclasseinterfície
Especificador d'accésEls membres d’una classe poden ser privats, públics o protegits.Els membres d’una interfície són sempre públics.
Mètodes Els mètodes d’una classe es defineixen per realitzar una acció específica.Els mètodes d'una interfície són purament abstractes.
Implementar / AmpliarUna classe pot implementar qualsevol nombre d’interfície i pot estendre només una classe.Una interfície pot estendre múltiples interfícies però no pot implementar cap interfície.
Constructor Una classe pot tenir constructors per inicialitzar les variables.Una interfície mai pot tenir un constructor, ja que gairebé no hi ha cap variable per inicialitzar.


Definició de classe

Una classe és un aspecte més important de la programació Java sense classes que no podeu implementar un programa java. Una classe crea tipus de referència i aquests tipus de referència s'utilitzen per crear objectes. Una classe té una signatura i un cos. La signatura d'una classe té el nom i la informació de la classe que indiquen si la classe ha heretat una altra classe. El cos d'una classe té camps i mètodes que operen en aquests camps. Una classe es crea mitjançant una paraula clau classe. Ens permet veure com es declara una classe.

class class_name {/ * camps ... mètodes * /}

Quan s’inicialitza una classe, cada objecte creat conté una còpia de camps i mètodes. Els camps i membres declarats dins d’una classe poden ser estàtics o no estàtics. El valor dels membres estàtics és constant per a cada objecte mentre que, els membres no estàtics són inicialitzats per cada objecte de manera diferent segons el seu requisit.


Els membres d’una classe tenen especificadors d’accés que decideixen la visibilitat i l’accessibilitat dels membres a l’usuari o a les subclasses. Els especificadors d'accés són públics, privats i protegits. Una classe pot ser heretada per una altra classe mitjançant l'especificador d'accés, que decidirà la visibilitat dels membres d'una superclasse (classe heretada) en una subclasse (classe heretadora). Així, la classe compleix el concepte d'ocultació i encapsulació de dades de la programació orientada a objectes.

Definició d'Interfície

Una interfície també es troba entre els tipus de referència definits en Java. La importància d’una interfície és que a Java, una classe només pot heretar una sola classe. Per evitar aquesta restricció, els dissenyadors de Java van introduir un concepte d’interfície. Una interfície és sintàcticament similar a una classe, però no té declaració de camp i els mètodes de la interfície no tenen cap implementació. Es declara una interfície mitjançant una paraula clau interfície. Anem a veure la declaració d’una interfície.

interface interface_nom {tipus var_name = valor; type method1 (llista de paràmetres); type method2 (llista de paràmetres); . . }

Una interfície no defineix cap mètode declarat dins d'ella perquè manca de camps per operar. Només perquè qualsevol mètode d'una interfície no realitza cap acció, mai no es pot iniciar una interfície. Si una interfície té algun membre de camp, s'ha d'inicialitzar en el moment de la declaració. Una interfície mai conté cap constructor, ja que manca de membres del camp per inicialitzar-se. Així doncs, una interfície només defineix què ha de fer una classe en lloc de com ha de fer-ho.

Una interfície un cop creada pot ser implementada per qualsevol nombre de classes mitjançant una paraula clau implements. Però les classes que implementen una interfície han de definir tots els mètodes dins d’una interfície. Una interfície també pot heretar una altra interfície mitjançant estendre paraula clau. Si una classe implementa una interfície que estén una altra interfície. A continuació, una classe ha de definir els mètodes de les dues interfícies que apareixen en una cadena. Els mètodes dins d'una interfície han de ser sempre públics, ja que han de ser accedits per les classes que els implementen.

Diferències claus entre la classe i la interfície de Java

  1. Una classe es pot instanciar creant els seus objectes. Una interfície no s’inicia mai, ja que els mètodes declarats dins d’una interfície són abstractes i no realitzen cap acció, per la qual cosa no s’utilitza la instància d’alguna interfície.
  2. Una classe es declara utilitzant una classe de paraules clau. De la mateixa manera, es crea una interfície mitjançant una interfície de paraules clau.
  3. Els membres d’una classe poden tenir l’especificador d’accés com a públic, privat, protegit. Però els membres d'una interfície són sempre públics, ja que han de tenir accés les classes que les implementen.
  4. Els mètodes dins d’una classe es defineixen per realitzar una acció als camps declarats a la classe. Com que la interfície no té la declaració de camps, els mètodes de la interfície són purament abstractes.
  5. Una classe pot implementar qualsevol nombre d’interfícies però pot estendre només una super classe. Una interfície pot estendre qualsevol nombre d’interfícies però no pot implementar cap interfície.
  6. Una classe té constructors definits al seu interior per inicialitzar la variable. Tanmateix, una interfície no té constructors, ja que no hi ha camps per inicialitzar. Els camps d'una interfície s'inicialitzen només en el moment de la declaració.

Conclusió:

Tant les classes com les interfícies tenen la seva pròpia importància. S’utilitza una classe quan hem de definir com es faria la tasca. S’utilitza una interfície quan hem de saber quina tasca s’ha de fer.