? In Java , la fusione si riferisce all'atto di trattare un oggetto o di un metodo di una certa classe come un oggetto di un genitore o di classe figlia . Questo si ottiene perché Java implementa polimorfismo , o la capacità di una variabile hanno oggetti diversi ma simili ad esso associati . Casting può richiedere un operatore speciale . Orientamento agli oggetti ed ereditarietà
Java è un linguaggio di programmazione orientato agli oggetti , il che significa che tutte le operazioni sono definite da oggetti e classi . Per un'operazione di successo su un oggetto, deve essere correlato a tale oggetto o di una classe specifica . Alcune classi estendono la funzionalità di altre classi ma mantengono le funzioni di base della classe iniziale , che è noto come ereditarietà . La classe di base è chiamato il genitore o il super- classe , e la classe di estensione è conosciuta come la classe figlia .
Upcasting
upcasting assegna un oggetto figlio di una variabile del oggetto padre . Ciò consente all'oggetto bambino ad essere collocato in una raccolta di dati con oggetti di pari livello , finché la raccolta dei dati tiene la classe padre come l'operatore . Poi, se quella variabile chiama un metodo definito dalla classe padre , il metodo viene eseguito, il metodo genitore o il metodo di bambino , se il bambino ha metodo del genitore ignorato
Esempio : .
< P > Forma sh = new Cerchio ( ) ;
sh.draw (); . //se draw ( ) è definito da Circle , questo verrà eseguito il metodo di Circolo anziché Forma di
downcasting
downcasting costringe una variabile di un oggetto padre di essere trattato come un oggetto figlio . Per abbattuto una variabile , inserire la classe che vuoi lanciare a tra parentesi prima della variabile per lanciare .
Upcasting un oggetto richiede un abbattuto se si vuole ancora usare un metodo bambino o variabile , nonostante il upcast . Per esempio :
Object o = new String ( " Ciao " ) ; //upcast
//String s1 = o.substring (); //non compilerà
< p > String s2 = ( ( String ) o) substring ( ) . //verrà compilato ed eseguito
Esempi
programmazione Java Swing GUI , qualsiasi oggetto destinato ad interagire con l'utente deve avere un ActionListener ad esso associati. Il ActionListener è un'interfaccia con un solo metodo , actionPerformed ( ) . Un programmatore deve implementare l'interfaccia in una classe personalizzata , e di determinare la natura dell'azione che verrà eseguita quando actionPerformed ( ) viene chiamato . Indipendentemente da come è implementato il metodo , un utente può aggiungere l'ascoltatore ad un oggetto GUI predefinita utilizzando semplicemente il addActionListener metodo ( ) , che prende qualsiasi bambino di ActionListener come parametro.