Autor Tema: Java ejemplo clases y métodos abstractos con herencia y sobreescritura CU00695B#  (Leído 3577 veces)

barriway

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 20
    • Ver Perfil
Buenos días.

Esta podría se una solución para el ejercicio propuesto.

Código: [Seleccionar]
public class Persona{
    private String dni;
    private String nombre;
    private int edad;
   
    public Persona(){
        dni="";
        nombre="";
        edad=0;
    }
   
    public Persona(String dni,String nombre,int edad){
        this.dni=dni;
        this.nombre=nombre;
        this.edad=edad;
    }
   
    public String toString(){
        return "Dni : "+dni+"\nNombre : "+nombre+"\nEdad : "+edad;
    }
}


Código: [Seleccionar]
public abstract class Legislador extends Persona{
    private String provinciaQueRepresenta;
   
    public Legislador(){
        super();
        provinciaQueRepresenta="";
    }
   
    public Legislador(String dni,String nombre,int edad,String provinciaQueRepresenta){
        super(dni,nombre,edad);
        this.provinciaQueRepresenta=provinciaQueRepresenta;
    }
   
    public String toString(){
        return super.toString()+"\nProvincia a la que representa : "+provinciaQueRepresenta;
    }
   
    abstract public String getCamaraEnQueTrabaja();
   
   
}


Código: [Seleccionar]
public class Senador extends Legislador{
   
    public Senador(){
        super();
    }
   
    public Senador(String dni,String nombre,int edad,String provinciaQueRepresenta){
        super(dni,nombre,edad,provinciaQueRepresenta);
    }
   
    public String toString(){
       return super.toString();
    }
   
    public String getCamaraEnQueTrabaja(){
        return "Senado";
    }
}


Código: [Seleccionar]
public class Diputado extends Legislador{
   
    public Diputado(){
        super();
    }
   
    public Diputado(String dni,String nombre,int edad,String provinciaQueRepresenta){
        super(dni,nombre,edad,provinciaQueRepresenta);
    }
   
    public String toString(){
       return super.toString();
    }
   
    public String getCamaraEnQueTrabaja(){
        return "Congreso";
    }
}


Código: [Seleccionar]
import java.util.ArrayList;

public class Test{
   
    public static void main(String Arg[]){
       
        ArrayList<Legislador> listaLegisladores = new ArrayList<Legislador>();
       
        listaLegisladores.add(new Diputado("11.111.111A", "Juan Bartolo Perdiguero",42,"A Coruña"));
        listaLegisladores.add(new Senador("11.111.111B", "Victoria González",45,"Cantabria"));
        listaLegisladores.add(new Diputado("22.222.222A", "Aitor Arritamendia",43,"Bizcaia"));
        listaLegisladores.add(new Senador("22.222.222B", "Paula Bartomeu",45,"Barcelona"));
        listaLegisladores.add(new Diputado("33.333.333A", "Ovido López",47,"León"));
        listaLegisladores.add(new Senador("33.333.333B", "Sabina Ramírez",45,"Valladolid"));
        listaLegisladores.add(new Diputado("44.444.444A", "Secundino Flores",48,"Zamora"));
        listaLegisladores.add(new Senador("44.444.444B", "Ana Isabel Tocino",40,"Soria"));
       
        System.out.println("Listado de legisladores\n");
        for(Legislador legislador:listaLegisladores){
            System.out.println("Representante en el : "+legislador.getCamaraEnQueTrabaja());
            System.out.println(legislador.toString()+"\n");     
        }
        System.out.println("Fin del listado de legisladores\n");
    }
}

Un saludo.
« Última modificación: 17 de Junio 2017, 18:04 por Alex Rodríguez »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Hola barriway

Ejercicio perfecto, además aplicando correctamente los conceptos relacionados con herencia vistos en las anteriores entregas del curso. Mis felicitaciones.

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".