Differenza Tra Attrezzi Ed Estensioni

Differenza Tra Attrezzi Ed Estensioni
Differenza Tra Attrezzi Ed Estensioni

Video: Differenza Tra Attrezzi Ed Estensioni

Video: Differenza Tra Attrezzi Ed Estensioni
Video: Laminazione VS Extension Ciglia 2024, Potrebbe
Anonim

Implementazioni vs estensioni

Implements ed Extends sono due parole chiave presenti nel linguaggio di programmazione Java che forniscono 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 una sintassi o parole chiave diverse per l'applicazione di tali concetti. Questo articolo si concentra solo sulle parole chiave Implements ed Extends 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 nuova classe definita. Quando una nuova sottoclasse (o classe derivata) estende una super classe (o classe genitore), quella sottoclasse erediterà tutti gli attributi e metodi della super classe. La sottoclasse può facoltativamente sovrascrivere il comportamento (fornire funzionalità nuove o estese ai metodi) ereditato dalla classe genitore. Una sottoclasse non può estendere più super classi in Java. Pertanto, non è possibile utilizzare estensioni per ereditarietà multipla. Per avere 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 una classe. Un'interfaccia in Java è un tipo astratto 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. Utilizzando la parola chiave Implements in Java, è possibile implementare più interfacce in una singola classe. Un'interfaccia non può implementare un'altra interfaccia. Tuttavia un'interfaccia può estendere una classe.

Differenza tra attrezzi ed estensioni

Sebbene Implements ed Extends siano due parole chiave che forniscono un meccanismo per ereditare attributi e comportamento a una classe nel linguaggio di programmazione Java, vengono utilizzati 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 per estendersi 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 super classe, 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'utilizzo di Implements (interfacce) è considerato più favorevole rispetto all'uso di Extends (ereditarietà),per diversi motivi, come una maggiore flessibilità e la capacità di ridurre al minimo l'accoppiamento. Pertanto, in pratica, la programmazione su un'interfaccia è preferita rispetto all'estensione dalle classi base.

Raccomandato: