1 / 6

Ejercicios

Ejercicios. Una variable polimórfica puede referenciar a objetos de diferentes clases. En Java, si una variable x se declara de clase A puede referenciar a objetos de esa clase, pero también a objetos de la clase B , C o D. A. B. D. C.

talon
Download Presentation

Ejercicios

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ejercicios Una variable polimórfica puede referenciar a objetos de diferentes clases. En Java, si una variable x se declara de clase A puede referenciar a objetos de esa clase, pero también a objetos de la clase B, C o D. A B D C Si el tipo estático de una entidad es A, los tipos dinámicos pueden ser B, C y D Introducción a la Programación Orientada a Objetos

  2. Ejercicios Una asignación polimórfica asocia una referencia a un objeto de una clase derivada, a una variable declarada de una clase ancestro. Dadas las siguiente declaraciones: En Java son válidas las siguientes asignaciones polimórficas: A xa; B xb; C xc; D xd; xa = xb; xa = xc; xa = xd; xb = xc; xb = xd; xc = xd; Introducción a la Programación Orientada a Objetos

  3. Ejercicios El chequeo de tipos en compilación establece restricciones sobre las asignaciones polimórficas. Dadas las declaraciones: En Java, NO son válidas las siguientes asignaciones: A xa; B xb; C xc; D xd; xb = xa; xc = xa; xc = xb; xd = xc; xd = xb; xd = xa; Introducción a la Programación Orientada a Objetos

  4. Ejercicios class A { public boolean p (int x) {…} } class B extends A { public boolean p (int x) {…} public int r (int x) {…} } A xa; B xb = new B(); xa = xb; xa.p(0); La ligadura se establece con el método p de la clase B, p está redefinido xa.r(0); NO ES VALIDO, r no estádefinido en A Introducción a la Programación Orientada a Objetos

  5. Ejercicios class A { public boolean q (double x) {…} } class B extends A { public boolean q (String x) {…} } A xa; B xb = new B(); xa = xb; xa.q(0); La ligadura se establece con el método q de la clase A, q está sobrecargado Introducción a la Programación Orientada a Objetos

  6. Ejercicios Los objetos referenciados por variables de la clase A sólo podrán recibir los mensajes que corresponden al comportamiento de la clase A. Sin embargo, si una variable declarada de clase A referencia a un objeto de clase B y recibe un mensaje que corresponde a un método redefinido en B, la ligadura se establece con el método redefinido. La variable determina los mensajes que un objeto puede recibir, pero el objeto determina la implementación específica del comportamiento que se ejecuta en respuesta a los mensajes. Introducción a la Programación Orientada a Objetos

More Related