? Em Java , fundição se refere ao ato de tratar um objeto ou método de uma determinada classe como um objeto de um dos pais ou classe filha. Isto é conseguido porque o Java implementa o polimorfismo , ou a capacidade de uma variável tem ainda diferentes objectos semelhantes associados. Fundição pode exigir um operador especial. Orientação a objetos e herança
Java é uma linguagem de programação orientada a objetos , o que significa que todas as operações são definidas por objetos e classes . Para uma operação para ter sucesso em um objeto, ele deve ser relacionado a esse objeto ou uma classe específica . Algumas classes de estender a funcionalidade de outras classes , mas manter as funções básicas da classe inicial, que é conhecido como herança. A classe base é chamado de pai ou super- classe ea classe estendendo é conhecida como a classe filha.
Upcasting
Upcasting atribui uma criança objeto uma variável do objeto pai. Isso permite que o objeto filho para ser colocado em uma coleta de dados com objetos de irmãos , enquanto a coleta de dados leva a classe pai como o operador . Então , se essa variável chama um método definido pela classe pai , o método será executado, o método pai ou o método de criança, se a criança tiver substituído o método pai
Exemplo: .
Forma sh = new Circle ();
sh.draw ( ) //se draw () é definida pelo Círculo, este irá executar o método de círculo , em vez de forma de
.
Downcasting
Downcasting força uma variável de um objeto pai para ser tratado como um objeto filho. Para downcast uma variável , coloque a classe que você deseja converter para entre parênteses antes da variável de lançar .
Upcasting um objeto requer um abatido , se você ainda quiser usar um método de criança ou variável , apesar do eleve. Por exemplo :
Objeto o = new String ("Olá "); //upcast
//String s1 = o.substring ( ) //não vai compilar
string s2 = ( (String) o) substring ( ) //irá compilar e executar
Exemplos
Na programação Java Swing GUI, quaisquer objectos destinados a interagir com o usuário deve ter um ActionListener associada a ele. O ActionListener é uma interface com um único método, actionPerformed (). Um programador deve implementar a interface em uma classe personalizada, e determinar a natureza da ação que será executada quando actionPerformed () é chamado . Independentemente de como o método é implementado , um usuário pode adicionar o ouvinte a um objeto GUI pré- definido simplesmente usando o addActionListener () método , que leva qualquer criança de ActionListener como parâmetro.