Hola,
esta es mi solución para este ejercicio.
Clase Persona:
public class Persona
{
private String nombre;
private String apellidos;
private int edad;
public Persona() {
nombre = "";
apellidos = "";
edad = 0;
}
public Persona (String nombre, String apellidos, int edad) {
this.nombre = nombre;
this.apellidos = apellidos;
this.edad = edad;
}
public String getNombre() {
return nombre;
}
public String getApellidos() {
return apellidos;
}
public int getEdad() {
return edad;
}
public String toString() {
Integer datoEdad = edad;
return "-Nombre: ".concat(nombre).concat("\n").concat("-Apellidos: ").concat(apellidos).concat("\n").concat("-Edad: ").concat(datoEdad.toString());
}
}
Clase Legislador:
public abstract class Legislador extends Persona
{
protected String provinciaQueRepresenta;
//protected String camaraEnQueTrabaja;
public Legislador(String nombre, String apellidos, int edad, String provincia){
super(nombre, apellidos, edad);
provinciaQueRepresenta=provincia;
}
/**
public void setCamaraEnQueTrabaja(String camara){
camaraEnQueTrabaja=camara;
}
*/
public abstract String getCamaraEnQueTrabaja();
public String toString(){
return super.toString().concat("\n").concat("-Provincia que representa: ").concat(this.provinciaQueRepresenta);
}
}
clase Diputado:
public class Diputado extends Legislador
{
private static final String CAMARA="Congreso";
public Diputado(String nombre, String apellidos, int edad, String provincia){
super(nombre,apellidos,edad,provincia);
}
public String getCamaraEnQueTrabaja() {
return CAMARA;
}
public String getProvinciaQueRepresenta(){
return super.provinciaQueRepresenta;
}
public String toString(){
return super.toString().concat("\n").concat("-Camara en la que trabaja: ").concat(getCamaraEnQueTrabaja().concat("\n"));
}
}
Clase senador:
public class Senador extends Legislador
{
private static final String CAMARA="Senado";
public Senador(String nombre, String apellidos, int edad, String provincia){
super(nombre,apellidos,edad,provincia);
}
public String getCamaraEnQueTrabaja() {
return CAMARA;
}
public String getProvinciaQueRepresenta(){
return super.provinciaQueRepresenta;
}
public String toString(){
return super.toString().concat("\n").concat("-Camara en la que trabaja: ").concat(getCamaraEnQueTrabaja()).concat("\n");
}
}
Y clase main:
import java.util.ArrayList;
public class MainClass
{
public static void main(String[] Argas){
Diputado diputado1=new Diputado("Juan", "Martinez", 35, "Madrid");
Diputado diputado2=new Diputado("Carlos", "Goñi", 39, "Valencia");
Diputado diputado3=new Diputado("Alberto", "deMiguel", 44, "Barcelona");
Diputado diputado4=new Diputado("Juan", "Corbalan", 45, "cadiz");
Senador senador1=new Senador("Alberto", "Rodriguez", 45, "Salamanca");
Senador senador2=new Senador("Daniel", "Diaz", 55, "Galicia");
Senador senador3=new Senador("David", "Gomez", 39, "Burgos");
Senador senador4=new Senador("Julio", "Prieto", 54, "Murcia");
ArrayList<Legislador> listaLagisladores=new ArrayList<>();
listaLagisladores.add(diputado1);
listaLagisladores.add(diputado2);
listaLagisladores.add(diputado3);
listaLagisladores.add(diputado4);
listaLagisladores.add(senador1);
listaLagisladores.add(senador2);
listaLagisladores.add(senador3);
listaLagisladores.add(senador4);
for(Legislador tmp:listaLagisladores){
System.out.println(tmp.toString());
}
}
}
Un saludo.