Sabemos que los tigres son animales. Si la clase animal es la clase principal de la clase tigre, cabe señalar que cuando un tigre es un animal, el tigre perderá sus atributos y funciones únicos. Desde la perspectiva del pensamiento humano, decir "el tigre es un animal" pertenece al método de pensamiento ascendente, que es similar al objeto de transformación ascendente en el lenguaje Java.
Suponga que la clase Animal es la clase principal de la clase Tigre. Cuando use una subclase para crear un objeto y coloque la referencia de este objeto en el objeto de la clase principal, por ejemplo:
Animala;a=newTigre();
o
Animala;Tigreb=nuevoTigre();a=b;
En este momento, llamar al objeto a un objeto transformado hacia arriba del objeto b es como decir "un tigre es un animal". La subclase es responsable de crear la entidad del objeto transformado, pero el objeto transformado perderá algunos atributos y funciones del objeto original.
El objeto de transformación ascendente tiene las siguientes características:

(1) El objeto transformado no puede operar las variables miembro recién agregadas de la subclase y no puede llamar a los nuevos métodos de la subclase.
(2) El objeto transformado puede acceder a variables miembro heredadas u ocultas por la subclase, y también puede llamar a métodos heredados por la subclase o métodos de instancia anulados por la subclase. El objeto upcast opera métodos heredados por la subclase o métodos de instancia anulados por la subclase, y su función es equivalente a llamar a estos métodos en el objeto de la subclase. Por lo tanto, si una subclase anula un método de instancia de la clase principal, cuando el objeto actualizado del objeto llama a este método de instancia, se debe llamar al método de instancia anulado por la subclase.
Aviso:
(1) No confunda los objetos creados por la clase principal con los objetos de tipo superior del objeto de subclase.
(2) Se puede forzar la conversión del objeto upcast en un objeto de subclase. En este momento, el objeto de subclase tiene todos los atributos y funciones de la subclase.
(3) No puede asignar referencias a objetos creados por la clase principal a objetos declarados por la subclase. Por ejemplo, no puede decir "La persona es china".