Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: matru en 28 de Marzo 2016, 21:01
-
Respuesta para el ejercicio CU00695B del tutorial de programación java desde cero:
public class Persona
{
private String nombre;
private int edad;
public Persona(){
nombre="";
edad = 0;
}
public Persona(String nombre, int edad){
this.nombre= nombre;
this.edad = edad;
}
public void setNombre(String nombre){this.nombre = nombre;}
public String getNombre(){return nombre;}
public void setEdad(int edad){this.edad = edad;}
public int getEdad(){return edad;}
public void mostrarDatos(){
System.out.println("Nombre: "+ nombre + "\nEdad: "+ edad);
}
}
public class TestLegislador{
public static void main(String []args){
ListaLegislador listaLegislador = new ListaLegislador();
Legislador diputado = new Diputado("Jose Reyes",50, "El Seibo", 190000);
Legislador diputado1 = new Diputado("Juan Javiel",48, "Samana", 185000);
Legislador diputado2 = new Diputado("Pedro Perez", 38, "Monte Plata", 205000);
Legislador senador = new Senador("Anderson Mota", 27, "Santo Domingo", 350000);
Legislador senador1 = new Senador("Felix Santana", 40, "Santiago", 300000);
listaLegislador.addLegislador(diputado); listaLegislador.addLegislador(diputado1); listaLegislador.addLegislador(diputado2);
listaLegislador.addLegislador(senador); listaLegislador.addLegislador(senador1);
listaLegislador.listar();
}
}
public abstract class Legislador extends Persona{
private String provinciaQueRepresenta;
private double salario;
public Legislador(){
super();
provinciaQueRepresenta ="";
salario = 0;
}
public Legislador(String nombre, int edad, String provinciaQueRepresenta, double salario){
super(nombre, edad);
this.provinciaQueRepresenta = provinciaQueRepresenta;
this.salario = salario;
}
public void setProvinciaQueRepresenta(String provinciaQueRepresenta){this. provinciaQueRepresenta = provinciaQueRepresenta;}
public String getProvinciaQueRepresenta(){return provinciaQueRepresenta;}
public void setSalario(double salario){this.salario = salario;}
public double getSalario(){return salario;}
public void mostrarDatos(){
}
abstract public String getCamaraEnQueTrabaja();
}
public class Diputado extends Legislador{
public Diputado(String nombre, int edad, String provinciaQueRepresenta, double salario){
super(nombre, edad, provinciaQueRepresenta, salario);
}
public Diputado(){}
public void mostrarDatos(){
System.out.println("Nombre: "+ getNombre() + "\nEdad: "+ getEdad()+
"\nProvincia que Representa: "+ getProvinciaQueRepresenta() +"\nCamara en que Trabaja: "+getCamaraEnQueTrabaja()+"\nSalario: "+ getSalario());
}
public String getCamaraEnQueTrabaja(){
return "Camara de Diputados";
}
}
public class Senador extends Legislador{
public Senador(String nombre, int edad, String provinciaQueRepresenta, double salario){
super(nombre, edad, provinciaQueRepresenta, salario);
}
public Senador(){}
public void mostrarDatos(){
System.out.println("Nombre: "+ getNombre() + "\nEdad: "+ getEdad()+
"\nProvincia que Representa: "+ getProvinciaQueRepresenta() +"\nCamara en que Trabaja: "+getCamaraEnQueTrabaja() +"\nSalario: "+ getSalario());
}
public String getCamaraEnQueTrabaja(){
return "Camara de Senadores";
}
}
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ListaLegislador{
List<Legislador> listLegislador;
public ListaLegislador(){
listLegislador = new ArrayList<Legislador>();
}
public void addLegislador(Legislador legislador){
listLegislador.add(legislador);
}
public void listar(){
Iterator<Legislador> it = listLegislador.iterator();
while(it.hasNext()){
Legislador leg = it.next();
leg.mostrarDatos();
System.out.println("");
}
}
}
-
Hola matru el ejercicio está bien
Nota: eEn este ejercicio ya debería usarse el método toString() en lugar de un método como public void mostrarDatos()
El motivo es que toString() es el nombre estándar que se usa en programación Java para devolver una cadena de texto con la información sobre un objeto
Además el método toString() debe basarse en la reutilización del método de las superclases cuando se utiliza en las subclases
En https://www.aprenderaprogramar.com/foros/index.php?topic=2961.0 puedes ver un ejemplo de esto
Saludos