Autor Tema: Java public abstract class cómo utilizar las clases abstractas ejercio CU00695B  (Leído 2432 veces)

matru

  • Sin experiencia
  • *
  • Mensajes: 41
    • Ver Perfil
Respuesta para el ejercicio CU00695B del tutorial de programación java desde cero:

Código: [Seleccionar]
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);
    }

}


Código: [Seleccionar]
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();
    }

}


Código: [Seleccionar]
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();
   
}


Código: [Seleccionar]
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";
    }
   
   
}



Código: [Seleccionar]
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";
    }
}



Código: [Seleccionar]
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("");
        }
    }
   
}

« Última modificación: 31 de Marzo 2016, 13:29 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
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

 

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".