Nwlapcug.com


Differenze tra interfacce e riassunti in Java

Differenze tra interfacce e riassunti in Java


Java è un linguaggio in primo luogo introdotto nel 1995 da Sun Microsystems di programmazione. Classi astratte e interfacce sono utilizzate nel codice Java per comportarsi in modo diverso quando diversi sottotipi della classe stessa. Interfacce e classi astratte operano in modo molto diverso e sono utilizzate in modi diversi, anche se ci sono alcune somiglianze tra di loro.

Lingua

Interfacce e classi astratte permettono per codice diverso essere utilizzato. Per esempio, una classe astratta può contenere classi concrete, mentre un'interfaccia può contenere classi astratte. Una classe astratta è anche più fluida rispetto a un'interfaccia e può contenere campi che non sono statici o finale, mentre un'interfaccia non può. Inoltre, una classe astratta eredita automaticamente una classe di oggetti, significato esso comprenderà metodi come "clone ()" e "è uguale a ()," mentre un'interfaccia non può includere questi metodi.

Metodi implementati

Metodi di una classe astratta possono essere definiti con una varietà di parametri di visibilità, tra cui public, protected, private o nessuno. Un'interfaccia può solo essere visibilmente pubblica. Ciò significa che tutti i membri di un'interfaccia sono public per impostazione predefinita, mentre i membri di una classe astratta possono includere membri non pubblici o metodi.

Prestazioni

In linea generale, interfacce operano un po' più lentamente rispetto a classi astratte perché introducono una nuova classe per ogni metodo che viene implementato, e potrebbe richiedere tempi più lunghi per un'interfaccia individuare il metodo corretto in ogni classe. Una classe astratta, d'altra parte, può applicare un metodo a più classi contemporaneamente e quindi esegue più rapidamente. Tuttavia, la maggior parte delle JVM (Java Virtual Machine) del 2011 compensare la differenza e queste prestazioni differenze appena sono notate piu '.

Uso

Un'interfaccia deve essere utilizzata quando lo script viene chiesto di fornire l'implementazione per tutti i metodi. Le interfacce possono costruire tutte le classi torna da zero in modo sistematico. Le classi astratte dovrebbero essere utilizzate quando si dispone di un'implementazione parziale di uno script, ma non è completamente completo. Lasciare queste implementazioni incomplete come "astratta" e consentire ai server di interpretarli.