Notizen
7.3 - Determinar quando casting é necessário
Inhalt der Notizen (5)
Seite 1
Introdução a Casting de tipo
"Type Casting" uma operação que converte o tipo da referência de um objeto para outro tipo. Essa operação é permitida somente se ambos os lados do casting estiverem na mesma hierarquia de tipo. Caso contrário, resultará em erro de compilação.
Há dois tipos de casting: up-casting e down-casting. Up casting pode ser feito de forma implícita enquanto que o down-casting necessita ser feito explicitamente usando-se um operador de casting.
Up-casting é a situação em que um subtipo sofre casting para seu supertipo, enquanto o down-casting é quando um supertipo sofre casting para um subtipo.
Seite 2
Exemplos de type casting
Up-casting
String myString = // a String expression
Object myObject = ( Object ) myString;
No exemplo acima, uma referência do tipo String sofre casting para uma referência do tipo Object. Aqui temos um exemplo de up-casting, pois Object é supertipo de String e o operador de casting pode ser removido devido a se tratar de up-casting:
Object myObject = myString;
Down-casting:
Object myObject = // an Object expression
String myString = ( String ) myObject;
Acima temos um exemplo de down-casting, onde uma referência do tipo object sofre casting para o tipo String. Como aqui se trata de down-casting, o operador de casting ( String ) será obrigatório.
Seite 3
Exercícios
Na situação acima, Double não é nem subtipo e nem supertipo de Float. Então o casting no código acima será inválido.
Correta: A. Compilation fails
Seite 4
Para que o casting seja válido os dois lados do casting devem estar na mesma hierarquia, ou seja, devem ter uma relação de subtipo - supertipo ou vice-versa.
Integer = Object -> Object supertipo de Integer.
Number = Integer -> Integer é subtipo de Number.
Long = Number -> Number é supertipo de Long.
Resposta: D
Notar que, embora o fragmento de código acima seja compilado com sucesso, irá lançar uma exceção ClassCastException em tempo de execução pois o objeto referenciado pela variável myObject não é uma instância do tipo Integer.
Seite 5
Resumo
Type Casting é uma operação que converte um tipo de referência de objeto em outro tipo. Essa operação somente será válida se ambos os lados do casting estiverem na mesma hierarquia de tipo.
Há dois tipos de casting. Up-casting pode ser feito implicitamente, enquanto down-casting precisa usar um operador de casting de modo explícito.
Informationen
- Beschreibung
- Concursos Públicos Desenvolvimento de Software (OCAJP 8 Online Course) Notiz am 7.3 - Determinar quando casting é necessário, erstellt von Luis Felipe Guariento am 23/08/2019.
- Erstellt von
- Luis Felipe Guariento
- Aufrufe
- 0
- Bewertung