Esercitazione JAVA 2019

Da Bioingegneria Elettronica e Informatica.


Implementazione completa di uno scenario ospedaliero

Modellazione dello Scenario

Modellazione iniziale delle classi utili all'implementazione delo scenario richiesto.

Classe Persona: classe base da cui far derivare le classi Medico e Paziente.

  1. public class Persona {
  2. 	protected String nome;
  3. 	protected String cognome;
  4. 	protected String CF;
  5.  
  6. 	public Persona(String N, String C, String cf)
  7. 	{
  8. 		nome = N;
  9. 		cognome = C;
  10. 		CF = cf;
  11. 	}
  12. }


Classe Medico: derivata dalla classe Persona, definisce un medico in base alla propria specializzazione.

  1. public class Medico extends Persona {
  2.  
  3. 	private String specializzazione;
  4.  
  5. 	public Medico(String N, String C, String cf, String spec) {
  6. 		super(N, C, cf);
  7. 		specializzazione = spec;	
  8. 	}
  9.  
  10. 	public String getInfo()
  11. 	{
  12. 		String info = nome + "\t" + cognome + "\t" + CF + "\t" + specializzazione;
  13. 		return info;
  14. 	}
  15.  
  16. }


Classe Paziente: derivata dalla classe Persona, definisce un paziente in base ad una diagnosi.

  1. public class Paziente extends Persona {
  2.  
  3. 	private String diagnosi;
  4.  
  5. 	public Paziente(String N, String C, String cf, String D) {
  6. 		super(N, C, cf);
  7. 		diagnosi = D;
  8. 	}
  9.  
  10. 	public String getInfo()
  11. 	{
  12. 		String info = nome + "\t" + cognome + "\t" + CF + "\t" + diagnosi;
  13. 		return info;
  14. 	}
  15.  
  16. }


Classe Ospedale: deve contenere tutti i medici e tutti i pazienti afferenti ad ogni ospedale. SOno state implementate le funzioni di aggiunta medici e pazienti, oltre alle funzioni di stampa delle informazioni.

  1. import java.util.ArrayList;
  2. import java.util.LinkedList;
  3.  
  4. public class Ospedale {
  5. 	private String nomeOspedale;
  6.  
  7. 	private ArrayList<Medico> listaMedici;
  8. 	private LinkedList<Paziente> listaPazienti;
  9.  
  10. 	public Ospedale(String N)
  11. 	{
  12. 		nomeOspedale = N;
  13. 		listaMedici = new ArrayList<Medico>();
  14. 		listaPazienti = new LinkedList<Paziente>();
  15. 	}
  16.  
  17. 	public void aggiungiMedici(Medico M)
  18. 	{
  19. 		listaMedici.add(M);
  20. 		System.out.println("Medico Aggiunto");
  21. 	}
  22.  
  23. 	public void aggiungiMedici(ArrayList<Medico> LM)
  24. 	{
  25. 		listaMedici.addAll(LM);
  26. 		System.out.println("Medici Aggiunti");
  27. 	}
  28.  
  29. 	public void aggiungiPazienti(Paziente P)
  30. 	{
  31. 		listaPazienti.add(P);
  32. 		System.out.println("Paziente Aggiunto");
  33. 	}
  34.  
  35. 	public void aggiungiPazienti(ArrayList<Paziente> LP)
  36. 	{
  37. 		listaPazienti.addAll(LP);
  38. 		System.out.println("Pazienti Aggiunti");
  39. 	}
  40.  
  41. 	public void stampaMedici()
  42. 	{
  43. 		System.out.println("Lista Medici:");
  44. 		for (int i = 0; i < listaMedici.size(); i++)
  45. 		{
  46. 			System.out.println((i+1) + ": " + listaMedici.get(i).getInfo());
  47. 		}
  48. 	}
  49.  
  50. 	public void stampaPazienti()
  51. 	{
  52. 		System.out.println("Lista Pazienti:");
  53. 		for (int i = 0; i < listaPazienti.size(); i++)
  54. 		{
  55. 			System.out.println((i+1) + ": " + listaPazienti.get(i).getInfo());
  56. 		}
  57. 	}
  58. }


Classe Principale: classe che contiene il metodo main.

  1. import java.util.ArrayList;
  2.  
  3. public class Principale {
  4.  
  5. 	public static void main(String[] args) {
  6.  
  7. 		Ospedale o = new Ospedale("Policlinico");
  8.  
  9. 		Medico m1 = new Medico("M_Nome1", "M_Cognome1", "M_Codice1", "Chirurgia");
  10. 		Medico m2 = new Medico("M_Nome2", "M_Cognome2", "M_Codice2", "Radiologia");
  11. 		Medico m3 = new Medico("M_Nome3", "M_Cognome3", "M_Codice3", "Cardiologia");
  12.  
  13. 		ArrayList<Medico> lm = new ArrayList<Medico>();
  14. 		lm.add(m1);
  15. 		lm.add(m3);
  16. 		o.aggiungiMedici(m2);
  17. 		o.aggiungiMedici(lm);
  18.  
  19. 		Paziente p1 = new Paziente("P_Nome1", "P_Cognome1", "P_Codice1", "Frattura");
  20. 		Paziente p2 = new Paziente("P_Nome2", "P_Cognome2", "P_Codice2", "Tumore");
  21. 		Paziente p3 = new Paziente("P_Nome3", "P_Cognome3", "P_Codice3", "Infarto");
  22.  
  23. 		ArrayList<Paziente> lp = new ArrayList<Paziente>();
  24. 		lp.add(p1);
  25. 		lp.add(p2);
  26. 		o.aggiungiPazienti(p3);
  27. 		o.aggiungiPazienti(lp);
  28.  
  29. 		System.out.println();
  30. 		System.out.println("////////////////////////////////////////////////");
  31. 		o.stampaMedici();
  32. 		System.out.println();
  33. 		o.stampaPazienti();
  34.  
  35. 	}
  36. }