Herencia

Páginas: 7 (1514 palabras) Publicado: 22 de mayo de 2015
Guía de ejercicios para la solemne número 3

1. Dada una jerarquía de clases que representa distintos tipos de publicaciones, siendo la clase abstracta Publicación la raíz de la jerarquía, que contiene los campos AUTOR, NOMBRE y NUMERO DE PAGINAS. Cree las subclases Libros y Papers. En la clase Libros, se deberá tener la variable COSTO, y no se podrán crear subclases a partir de esta clase. Enla clase Papers se deberá tener la variable congreso (STRING). Cree un constructor particular para la clase PUBLICACION, la cual reciba los campos correspondientes a su clase y en las otras dos clases cree el constructor correspondiente para que pueda llenar todas las variables.

2. Implemente la clase abstracta denominada persona, la cual contenga las variables miembros nombre, edad, sexo ycontador. Luego implemente las subclases Hijo y Padre, la cual deriven de persona. El constructor de la clase persona, deberá incrementar contador el cual contiene el número de personas que se han creado. Los constructores de las clases Hijo y Padre deberán llamar al constructor de la clase padre para aumentar el contador, pero cada constructor deberá recibir los datos correspondientes para llenar lasvariables miembros de cada clase. La clase HIJO tendrá la variable miembro horasJuego mientras que la clase padre tendrá la variable miembro HorasTrabajo.

3. Diseña una clase abstracta denominada Figura, cuyos miembros dato sean: base y altura. Además del constructor y los métodos set (entregar los lados de la figura) y get(mostrar los lados de la figura), la clase contará con un métodoabstracto que retorne el área de una figura. Figura contiene dos subclases denominadas Rectangulo y Triangulo. Defina estas dos subclases y declare dos objetos de tipo Triangulo y Rectangulo y visualice en pantalla el área de las figuras.

4. Dado el siguiente código, en el que se han eliminado los comentarios por razones de espacio, y en el cual la expresión [...] simboliza código que se ha omitido:class A {
protected int m_x;

public int VerX(){return m_x}
public void FijarX(int x) {
m_x = x;
}
public int f() {System.Out.println("A.f");}
public int k();
}

class B extends A {
public int f() {System.Out.println("B.f");}
public int g() {System.out.println("B.g");}
public int h() {System.out.println("B.h");}
}

class C extends B {
public int f() {System.Out.println("C.f");}
public intg() {System.out.println("C.g");}
public int k() {System.out.println("C.k");}
}

[...]

A v;
v = new A();
A. ¿Es legal la última instrucción? ¿Por qué?
B. ¿Cuáles de las clases anteriores son abstractas?
C. ¿Es legal la sentencia v = new B()? ¿Por qué?
D. ¿Es legal la sentencia v = new C()? ¿Por qué?
E. Dada la sentencia de la pregunta anterior, ¿qué aparecerá por pantalla si después se ejecutav.f()?
F. ¿Qué métodos redefine B? ¿Y qué métodos redefine C?
G. Dada esa estructura de clases, ¿hay alguna forma de conseguir que mediante una llamada se imprima por pantalla A.f? ¿Qué código escribirías para ello?
H. ¿Podría incluir en el código de la clase B algo como m\_x = 5? ¿Y en el de la clase C?
5. Pretendemos diseñar una pequeña aplicación para administrar las cuentas de una entidadbancaria. Sabiendo que las entidades financieras utilizan distintos tipos de cuenta, la herencia puede ser una solución para reutilizar código. La idea es diseñar una aplicación para administrar las cuentas corrientes y de ahorro de los clientes de una entidad financiera. Como ambas cuentas tienen bastantes cosas en común, hemos decidido agrupar éstas en una clase CCuenta de la cual derivaremos lascuentas específicas que vayan surgiendo. Sería absurdo crear objetos de CCuenta; más bien la intención es que se agrupe el código común que heredarán sus subclases, razón por la cual la declararemos abstracta. Pensemos entonces inicialmente en el diseño de la clase CCuenta. Después de un análisis de los factores que intervienen en una cuenta en general, llegamos a la conclusión de que los...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Herencia
  • la herencia
  • la herencia
  • Herencia
  • Herencia
  • Herencia
  • Herencias
  • la herencia

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS