Implementare vs extenda
Implementazioni ed estensioni sono due parole chiave che hanno trovato nel linguaggio di programmazione Java e che forniscono un mezzo per trasferire funzionalità aggregate a una nuova classe. La parola chiave degli implementi è utilizzata esplicitamente per implementare un’interfaccia, mentre la parola chiave si estende viene utilizzata per ereditare da una classe (super). Tieni presente che i concetti del patrimonio e delle interfacce sono presenti nella maggior parte degli altri linguaggi di programmazione orientati a oggetti come C # e vb.net, ma offrono diverse sintassi o parole chiave per applicare quei concetti. Questo articolo si concentra solo sulle parole chiave di implementazione ed estensione definite in Java.
si estende
Estensire la parola chiave viene utilizzata per implementare il concetto di ereditarietà nel linguaggio di programmazione Java. L’ereditarietà fornisce essenzialmente il riutilizzo del codice estendendo le proprietà e il comportamento di una classe esistente da una classe appena definita. Quando una nuova sottoclasse (o classe derivata) estende una superclasse (o una classe primaria), quella sottoclasse eredita tutti gli attributi e i metodi della superclass. La sottoclasse può opzionalmente annullare il comportamento (fornire funzionalità nuove o estese ai metodi) ereditati dalla classe principale. Una sottoclasse non può estendere diverse super classi in Java. Pertanto, non è possibile utilizzare le estensioni per più ereditarietà. Per avere più eredità, è necessario utilizzare le interfacce come spiegato di seguito.
IMPLEMENTI
Implementa le parole chiave nel linguaggio di programmazione Java che viene utilizzato per implementare un’interfaccia per una classe. Un’interfaccia in Java è un tipo astratto utilizzato per specificare un contratto che deve essere implementato dalle classi, che implementano tale interfaccia. In generale, un’interfaccia conterrà solo firme di metodi e dichiarazioni costanti. Qualsiasi interfaccia che implementa una particolare interfaccia deve implementare tutti i metodi definiti nell’interfaccia, o devono essere dichiarati come classe astratta. In Java, il tipo di riferimento di un oggetto può essere definito come un tipo di interfaccia. Ma quell’oggetto deve essere nullo o dovrebbe contenere un oggetto di una classe, che implementa quella particolare interfaccia. Utilizzando gli attrezzi delle parole chiave 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 gli attrezzi e le estensioni siano due parole chiave che forniscono un meccanismo per ereditare attributi e comportamento di una classe nel Java Il linguaggio di programmazione, vengono utilizzati per due scopi diversi. La parola chiave degli implementi viene utilizzata per una classe di implementazione di una determinata interfaccia, mentre la parola chiave si estende viene utilizzata in modo che una sottoclasse sia estesa 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 sostituire i metodi inclusi nella classe primaria. Infine, un’altra differenza chiave tra gli attrezzi ed estendere è che una classe può implementare più interfacce, ma può essere estesa solo da una super classe in Java. In generale, l’uso di attrezzi (interfacce) è considerato più favorevole rispetto all’uso delle estensioni (ereditarietà), per diversi motivi, come una maggiore flessibilità e la capacità di ridurre al minimo l’accoppiamento. Pertanto, in pratica, la programmazione a un’interfaccia è preferibile all’estensione dalle classi di base.