Chi mi fa un esempio di metamorfismo?

Ho un'istanza della classe Girino, che ha un metodo nuota();

volgio che questo Girino diventi Rana, la cui classe ha naturalmente l'overriding del metodo nuota(), implementato diversamente.

Io scrivo:

Girino a = new Girino();

e poi voglio che a diventi Rana...

Chi mi dà una mano?