/ / Herencia. casting y polimorfismo en java [cerrado] - java, herencia, casting, polimorfismo

Herencia. casting y polimorfismo en java [cerrado] - java, herencia, casting, polimorfismo

¿Puede alguien explicarme cómo implementar estos tipos de código y explicar cuál es la diferencia entre los tres? Estoy codificando en java.

Respuestas

1 para la respuesta № 1

Estoy dispuesto a intentarlo porque recientemente traté de entenderlos y esta es una buena manera de ver si lo hice :) porque si no puedes explicar algo no lo has entendido realmente :)

El casting es bastante simple. Significa convertir prácticamente un valor u objeto de un tipo determinado a un tipo diferente. De esta manera puedes, por ejemplo, convertir un flotador en un entero.

float y = 7.0
int x = (int) y

x ahora será 7. Por supuesto, no puede simplemente emitir cualquier tipo a cualquier otro tipo. Hay limitaciones que debe buscar en google; nunca podría cubrirlas todas.

El polimorfismo suena similar pero en realidad esalgo más. Según tengo entendido, esto significa que ciertos objetos pueden ser de varios tipos. Por ejemplo, si tiene una clase que extiende a otra clase, cualquier instancia de la clase principal también puede ser del tipo de la clase derivada.

class Base {...}
class Derived extends Base {...}

Base obj1 = new Base();
Derived obj2 = new Derived();

obj1 = obj2;

En el transcurso de este fragmento, obj1 tendráHa sido una instancia de Base primero, pero luego será una instancia de Derivada que es una clase derivada de la base. Esto es posible porque las instancias de clases derivadas contienen un "objeto interno" (no conozco el nombre oficial) de la clase base. Cuando convierte la instancia de Base en una instancia de Derivado, realmente obtendrá este "objeto interno"

Espero que esto ayude


0 para la respuesta № 2

Consulte la documentación de Oracle: http://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html

http://docs.oracle.com/javase/tutorial/java/IandI/index.html


0 para la respuesta № 3

Polimorfismo verdadero (es decir,, herencia múltiple) no está disponible en Java. Sin embargo, puede obtener una buena aproximación utilizando "Interfaces", aunque sus clases necesitan implementar todas las funciones proporcionadas por la interfaz (enlace a las interfaces de Java)

También puede emular la herencia múltiple utilizando establecedores / getters delegados en las clases. Esto puede ser complicado, pero también puede darle el efecto de herencia múltiple.

Este tema se discute extensamente en este post de desbordamiento de pila.