Autor Tema: Clases abstractas java metodos abstract class api ejercicio resuelto CU00695B  (Leído 3097 veces)

@mayakoski

  • Sin experiencia
  • *
  • Mensajes: 43
    • Ver Perfil
Dejo planteada mi solución, al tema CU00695B del manual de programación Java desde cero con ejercicios resueltos.

Código: [Seleccionar]
package claseCU00695B;

public class Persona { // Código de la clase Persona ejemplo aprenderaprogramar.com

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(" -Apellidos: ").concat(apellidos).concat(" -Edad: ")
.concat(datoEdad.toString());
}

} // Cierre de la clase

Código: [Seleccionar]
package claseCU00695B;

public abstract class Legislador extends Persona {
private String provinciaQueRepresenta;
protected String camaraEnQueTrabaja;

public Legislador(String pProvinciaQueRepresenta, String pCamaraEnQueTrabaja) {
setProvinciaQueRepresenta(pProvinciaQueRepresenta);
setCamaraEnQueTrabaja(pCamaraEnQueTrabaja);
}

public Legislador(String nombre, String apellidos, int edad, String pProvinciaQueRepresenta, String pCamaraEnQueTrabaja) {
super(nombre, apellidos, edad);
setProvinciaQueRepresenta(pProvinciaQueRepresenta);
setCamaraEnQueTrabaja(pCamaraEnQueTrabaja);
}

public String getProvinciaQueRepresenta() {
return provinciaQueRepresenta;
}

public void setProvinciaQueRepresenta(String provinciaQueRepresenta) {
this.provinciaQueRepresenta = provinciaQueRepresenta;
}

public void setCamaraEnQueTrabaja(String camaraEnQueTrabaja) {
this.camaraEnQueTrabaja = camaraEnQueTrabaja;
}

public abstract String getCamaraEnQueTrabaja();

public String toString() {
return super.toString().concat(" Representa a la provincia: ").concat(getProvinciaQueRepresenta());
}

}

Código: [Seleccionar]
package claseCU00695B;

public class Diputado extends Legislador {

public Diputado(String pProvinciaQueRepresenta, String pCamaraEnQueTrabaja) {
super(pProvinciaQueRepresenta, pCamaraEnQueTrabaja);

}

public Diputado(String nombre, String apellidos, int edad, String pProvinciaQueRepresenta, String pCamaraEnQueTrabaja) {
super(nombre, apellidos, edad, pProvinciaQueRepresenta, pCamaraEnQueTrabaja);

}

@Override
public String getCamaraEnQueTrabaja() {
return camaraEnQueTrabaja;
}

public String toString() {
return super.toString().concat(" Trabaja en la camara: ").concat(getCamaraEnQueTrabaja());
}

}

Código: [Seleccionar]
package claseCU00695B;

public class Senador extends Legislador {

public Senador(String pProvinciaQueRepresenta, String pCamaraEnQueTrabaja) {
super(pProvinciaQueRepresenta, pCamaraEnQueTrabaja);

}

public Senador(String nombre, String apellidos, int edad, String pProvinciaQueRepresenta,
String pCamaraEnQueTrabaja) {
super(nombre, apellidos, edad, pProvinciaQueRepresenta, pCamaraEnQueTrabaja);

}

@Override
public String getCamaraEnQueTrabaja() {

return camaraEnQueTrabaja;
}

public String toString() {
return super.toString().concat(" Trabaja en la camara: ").concat(getCamaraEnQueTrabaja());
}

}

Código: [Seleccionar]
package claseCU00695B;

import java.util.ArrayList;

public class ListinLegisladores {

private ArrayList<Legislador> listinLegisladores;

public ListinLegisladores() {
listinLegisladores = new ArrayList<Legislador>();
} // Constructor

public void addLegislador(Legislador pLegislador) {
listinLegisladores.add(pLegislador);
} // Método

public void imprimirListin() {
String tmpStr1;
System.out.println("Se muestra el listado de los legisladores existentes: ");

for (Legislador legislador : listinLegisladores) {
System.out.println(legislador.toString());
if(legislador instanceof Diputado) {
tmpStr1 = "Diputado";
} else {
tmpStr1 = "Senador";
}

System.out.println("-Tipo de Legislador " + tmpStr1.concat(" Trabaja en la camara ").concat(legislador.camaraEnQueTrabaja));
}

}



}

Código: [Seleccionar]
package claseCU00695B;

public class TestLegisladores {
public static void main(String[] args) {

String provinciaQueRepresenta;
String camaraEnQueTrabaja;

//Variables que uso para simplificar el ingreso de datos
provinciaQueRepresenta = "Pichincha";
camaraEnQueTrabaja = "Cultura";

Legislador d1 = new Diputado("José", "Hernández López", 45, provinciaQueRepresenta, camaraEnQueTrabaja);

Legislador d2 = new Diputado("Andrés", "Moltó Parra", 87, provinciaQueRepresenta, camaraEnQueTrabaja);

Legislador d3 = new Diputado("José", "Ríos Mesa", 76, provinciaQueRepresenta, camaraEnQueTrabaja);

Legislador s1 = new Senador("Juan", "Pérez Pérez", 49, provinciaQueRepresenta, camaraEnQueTrabaja);

Legislador s2 = new Senador("Alberto", "Centa Mota", 49, provinciaQueRepresenta, camaraEnQueTrabaja);

Legislador s3 = new Senador("Alberto", "Centa Mota", 49, provinciaQueRepresenta, camaraEnQueTrabaja);

ListinLegisladores listaLegisladores = new ListinLegisladores();

listaLegisladores.addLegislador(s3);
listaLegisladores.addLegislador(s2);
listaLegisladores.addLegislador(s1);
listaLegisladores.addLegislador(d3);
listaLegisladores.addLegislador(d1);
listaLegisladores.addLegislador(d2);

listaLegisladores.imprimirListin();

}

}
« Última modificación: 24 de Octubre 2020, 21:06 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola, ejercicio bien resuelto. En realidad la cámara en que trabaja estaba previsto que no se estableciera, sino que fuera <<Congreso>> para los diuputados y <<Senado>> para los senadores, pero eso no tiene mayor importancia. Quien quiera ver otra solución puede consultar https://aprenderaprogramar.com/foros/index.php?topic=2961.0
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".