Differenza tra implementa ed estende

Differenza tra implementa ed estende
Differenza tra implementa ed estende

Video: Differenza tra implementa ed estende

Video: Differenza tra implementa ed estende
Video: What’s the difference between the Conference and a workshop? 2024, Dicembre
Anonim

Implementa ed estende

Implements ed Extends sono due parole chiave presenti nel linguaggio di programmazione Java che fornisce un mezzo per trasferire funzionalità aggiuntive a una nuova classe. La parola chiave Implements viene utilizzata esplicitamente per implementare un'interfaccia, mentre la parola chiave Extends viene utilizzata per ereditare da una (super) classe. Si noti che i concetti di ereditarietà e interfacce sono presenti nella maggior parte degli altri linguaggi di programmazione orientati agli oggetti come C e VB. NET, ma offrono sintassi o parole chiave diverse per l'applicazione di tali concetti. Questo articolo si concentra solo su Implementa ed Estende le parole chiave definite in Java.

Si estende

La parola chiave Extends viene utilizzata per implementare il concetto di ereditarietà nel linguaggio di programmazione Java. L'ereditarietà fornisce essenzialmente il riutilizzo del codice consentendo l'estensione delle proprietà e del comportamento di una classe esistente da parte di una classe appena definita. Quando una nuova sottoclasse (o classe derivata) estende una superclasse (o classe madre), quella sottoclasse erediterà tutti gli attributi e i metodi della superclasse. La sottoclasse può facoltativamente sovrascrivere il comportamento (fornire funzionalità nuove o estese ai metodi) ereditato dalla classe padre. Una sottoclasse non può estendere più super classi in Java. Pertanto, non è possibile utilizzare le estensioni per l'ereditarietà multipla. Per avere un'ereditarietà multipla, è necessario utilizzare le interfacce come spiegato di seguito.

Implementa

La parola chiave Implements nel linguaggio di programmazione Java viene utilizzata per implementare un'interfaccia da parte di una classe. Un'interfaccia in Java è un tipo astratto che viene utilizzato per specificare un contratto che dovrebbe essere implementato dalle classi, che implementano quell'interfaccia. Di solito un'interfaccia conterrà solo firme di metodo e dichiarazioni di costanti. Qualsiasi interfaccia che implementa una particolare interfaccia dovrebbe implementare tutti i metodi definiti nell'interfaccia o dovrebbe essere dichiarata come una classe astratta. In Java, il tipo di un riferimento a un oggetto può essere definito come un tipo di interfaccia. Ma quell'oggetto deve essere nullo o deve contenere un oggetto di una classe, che implementa quella particolare interfaccia. Usando la parola chiave Implementa in Java, puoi implementare più interfacce in una singola classe. Un'interfaccia non può implementare un' altra interfaccia. Tuttavia un'interfaccia può estendere una classe.

Differenza tra implementa ed estende

Sebbene, Implements ed Extends siano due parole chiave che forniscono un meccanismo per ereditare attributi e comportamenti a una classe nel linguaggio di programmazione Java, vengono utilizzate per due scopi diversi. La parola chiave Implements viene utilizzata per una classe per implementare una determinata interfaccia, mentre la parola chiave Extends viene utilizzata per una sottoclasse da estendere da una super classe. Quando una classe implementa un'interfaccia, quella classe deve implementare tutti i metodi definiti nell'interfaccia, ma quando una sottoclasse estende una superclasse, può o meno sovrascrivere i metodi inclusi nella classe genitore. Infine, un' altra differenza fondamentale tra Implements ed Extends è che una classe può implementare più interfacce ma può estendersi solo da una super classe in Java. In generale, l'uso di Implements (interfacce) è considerato più favorevole rispetto all'utilizzo di Extends (ereditarietà), per diversi motivi come una maggiore flessibilità e la capacità di ridurre al minimo l'accoppiamento. Pertanto, in pratica, è preferibile programmare su un'interfaccia piuttosto che estenderla dalle classi base.

Consigliato: