Buscar

supuesto que reasigna el 4 Facultad de Ingenierı́a Programación Orientada a Objetos valor previo del presupuesto a un objeto de tipo Gerente, com...

supuesto que reasigna el 4 Facultad de Ingenierı́a Programación Orientada a Objetos valor previo del presupuesto a un objeto de tipo Gerente, como puede verse a continuación. Figura 5: Clase Gerente en Java. Finalmente, en la clase principal de prueba se han utilizado las siguientes lı́neas de código con el fin de poner a prueba las clases descritas con anterioridad. Figura 6: Clase de prueba 5 Facultad de Ingenierı́a Programación Orientada a Objetos Figura 7: Salida obtenida. 3.1. Relaciones IS-A y HAS-A La relación IS-A permite afirmar que un objeto es de un tipo en especı́fico. Por ejemplo, dadas las siguientes lı́neas: Figura 8: Clases hijas de Animal y Caballo, respectivamente. Dada la jerarquı́a de clases anterior se puede afirmar que: Caballo hereda de Animal, lo que significa que Caballo IS-A (es un) Animal. Luego, Purasangre hereda de Caballo, lo que significa que Purasangre IS-A (es un) Caballo. La relación HAS-A es un concepto que se vio en el tema de Abstracción y Encapsulamiento como composición. Esta relación se basa en una clase X HAS-A Y , si el código en la clase X tiene como atributo una referencia de la clase Y . Por ejemplo, sea el siguiente ejemplo: Figura 9: Clase hija de Animal que implementa una silla de montar como atributo. Dada la jerarquı́a de clases anterior se puede afirmar que: Un Caballo HAS-A (tiene) una SillaMontar, debido a que cada instancia de Caballo tendrá una referencia hacia una SillaMontar. 6 Facultad de Ingenierı́a Programación Orientada a Objetos 3.2. Clase Object En Java existe una superclase implı́cita en todas las clases llamada Object, la cual hereda métodos como lo son toString, equals, clone, entre otros. Para conocer si un objeto instancia de alguna clase, se utiliza el operador instanceo f . Utilizando tal operador, puede comprobarse la existencia de la superclase Object. En el proyecto creado se han añadido las siguiente lı́neas de código, las cuales permitarán saber si los objetos creado son instancias de tipo Empleado y del tipo Object. Figura 10: Lı́neas añadidas al método de la clase principal. Figura 11: Salida obtenida. De lo anterior, es posible concluir que cualquier objeto de cualquier clase va a heredar de la clase Object, sin excepción alguna. 4. Sobreescritura/Overriding Al momento de realizar el proceso de herencia a partir de otra clase, puede darse el caso de que el compor- tamiento de alguno de los métodos heredados no sea el esperado. Para solucionar tal problema, se hace uso de la sobreescritura de tal método, es decir, se redefine el comportamiento del mismo en una subclase en particular. De esta forma, el método sobreescrito puede adaptarse a las necesidades de cada subclase. Por ejemplo, el método toString se define dentro de la clase Ob ject, el cual genera una represen- tación en cadena de la información de un objeto. Si tal método desea usarse a un objeto Empleado, se 7 el método únicamente se encuentra definido para Ob ject, y descono- ce los atributos de Empleado. Por tanto, dichos atributos no se podrán trasladar a una representación en cadena. En general, un método sobreescrito debe de seguir las siguientes reglas: Tener el mismo nombre que el método que se heredó y se desea sobreescribir. Debe tener el mismo tipo y número de parámetros. El nivel de acceso debe ser idéntico o más accesible. El valor de retorno debe ser idéntico o un tipo derivado. Cabe señalar que la sobreescritura queda irremediablemente ligada a la herencia y carece de sentido fuera de este concepto. Dicho de otra forma, es imposible sobreescribir un método dentro de la misma clase, ya qué el compilador detectarı́a dos métodos idénticos en nombre y parámetros, arrojando un error de compilación en consecuencia. En el siguiente ejemplo, se ha sobreescrito el método toString y se ha añadido a la clase Empleado, con el fin de obtener información de los atributos de un objeto de este tipo. Ası́ mismo, se ha sobreescrito toString en la clase Gerente con el fin de que, además


Essa pergunta também está no material:

Práctica 7 V2
12 pág.

Programação Orientada A Objetos Universidad Nacional Autónoma De MéxicoUniversidad Nacional Autónoma De México

Respostas

User badge image

Ed Verified user icon

Desculpe, mas sua pergunta está incompleta. Você precisa publicar uma nova pergunta.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Responda

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Mais conteúdos dessa disciplina