Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Funcionario jose = new Gerente();

En Java, la declaración public class Gerente extends Funcionario indica que la clase Gerente es una subclase de la clase Funcionario. Esto significa que la clase Gerente hereda todos los métodos y propiedades de la clase Funcionario y puede agregar sus propios métodos y propiedades adicionales o anular los métodos heredados si es necesario.

En tu ejemplo, la clase Gerente tiene una propiedad adicional llamada Clave, que es una cadena de caracteres y tiene el valor "123456789". Esta propiedad es específica de la clase Gerente y no está presente en la clase Funcionario original.

Como resultado, si tienes una instancia de Gerente, puedes acceder a los métodos y propiedades heredados de Funcionario, así como a los métodos y propiedades adicionales definidos en la clase Gerente, incluida la propiedad Clave.

Sin embargo, en el código original que proporcionaste (Gerente Jose = new Funcionario();), estás creando una instancia de Funcionario y tratando de asignarla a una variable de tipo Gerente. Esto no es válido porque no puedes asignar una instancia de una clase base (en este caso Funcionario) a una variable de una clase derivada (en este caso Gerente). La asignación debería ser al revés: Funcionario Jose = new Gerente();, donde Funcionario es la clase base y Gerente es la clase derivada.

Con la corrección, si tienes una instancia de Gerente asignada a una variable de tipo Funcionario, aún puedes acceder a los métodos y propiedades heredados de Funcionario, pero no podrás acceder a los métodos o propiedades específicos de Gerente, como la propiedad Clave. Si necesitas acceder a esos métodos o propiedades específicos de Gerente, debes realizar una conversión de tipo explícita a Gerente.

Aquí hay un ejemplo corregido del uso de la herencia:

java Copy code Funcionario jose = new Gerente(); jose.metodoHeredado(); // Accede a un método heredado de Funcionario ((Gerente) jose).metodoEspecificoDeGerente(); // Accede a un método específico de Gerente después de una conversión de tipo

1 respuesta

Hola Emilio, ¡espero que estés bien!

Gracias por compartir tu solución, felicitaciones! Espero que estés disfrutando del contenido y las actividades!

Anexo: el foro se centra en las dudas de contenido y actividad, ¡pero apreciamos sus resultados! Te sugiero que compartas tus resultados en tu grupo en lo servidor en Discord.

Mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte.

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!