Esercitazione JAVA 2019: differenze tra le versioni
Da Bioingegneria Elettronica e Informatica.
(Creata pagina con "__FORCETOC__ = Implementazione completa di uno scenario ospedaliero = == Modellazione dello Scenario ==") |
(→Modellazione dello Scenario) |
||
Riga 4: | Riga 4: | ||
== Modellazione dello Scenario == | == 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. | ||
+ | |||
+ | <syntaxhighlight lang="java" line> | ||
+ | public class Persona { | ||
+ | protected String nome; | ||
+ | protected String cognome; | ||
+ | protected String CF; | ||
+ | |||
+ | public Persona(String N, String C, String cf) | ||
+ | { | ||
+ | nome = N; | ||
+ | cognome = C; | ||
+ | CF = cf; | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Classe Medico: derivata dalla classe Persona, definisce un medico in base alla propria specializzazione. | ||
+ | <syntaxhighlight lang="java" line> | ||
+ | |||
+ | public class Medico extends Persona { | ||
+ | |||
+ | private String specializzazione; | ||
+ | |||
+ | public Medico(String N, String C, String cf, String spec) { | ||
+ | super(N, C, cf); | ||
+ | specializzazione = spec; | ||
+ | } | ||
+ | |||
+ | public String getInfo() | ||
+ | { | ||
+ | String info = nome + "\t" + cognome + "\t" + CF + "\t" + specializzazione; | ||
+ | return info; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | |||
+ | Classe Paziente: derivata dalla classe Persona, definisce un paziente in base ad una diagnosi. | ||
+ | <syntaxhighlight lang="java" line> | ||
+ | |||
+ | public class Paziente extends Persona { | ||
+ | |||
+ | private String diagnosi; | ||
+ | |||
+ | public Paziente(String N, String C, String cf, String D) { | ||
+ | super(N, C, cf); | ||
+ | diagnosi = D; | ||
+ | } | ||
+ | |||
+ | public String getInfo() | ||
+ | { | ||
+ | String info = nome + "\t" + cognome + "\t" + CF + "\t" + diagnosi; | ||
+ | return info; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | 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. | ||
+ | <syntaxhighlight lang="java" line> | ||
+ | |||
+ | import java.util.ArrayList; | ||
+ | import java.util.LinkedList; | ||
+ | |||
+ | public class Ospedale { | ||
+ | private String nomeOspedale; | ||
+ | |||
+ | private ArrayList<Medico> listaMedici; | ||
+ | private LinkedList<Paziente> listaPazienti; | ||
+ | |||
+ | public Ospedale(String N) | ||
+ | { | ||
+ | nomeOspedale = N; | ||
+ | listaMedici = new ArrayList<Medico>(); | ||
+ | listaPazienti = new LinkedList<Paziente>(); | ||
+ | } | ||
+ | |||
+ | public void aggiungiMedici(Medico M) | ||
+ | { | ||
+ | listaMedici.add(M); | ||
+ | System.out.println("Medico Aggiunto"); | ||
+ | } | ||
+ | |||
+ | public void aggiungiMedici(ArrayList<Medico> LM) | ||
+ | { | ||
+ | listaMedici.addAll(LM); | ||
+ | System.out.println("Medici Aggiunti"); | ||
+ | } | ||
+ | |||
+ | public void aggiungiPazienti(Paziente P) | ||
+ | { | ||
+ | listaPazienti.add(P); | ||
+ | System.out.println("Paziente Aggiunto"); | ||
+ | } | ||
+ | |||
+ | public void aggiungiPazienti(ArrayList<Paziente> LP) | ||
+ | { | ||
+ | listaPazienti.addAll(LP); | ||
+ | System.out.println("Pazienti Aggiunti"); | ||
+ | } | ||
+ | |||
+ | public void stampaMedici() | ||
+ | { | ||
+ | System.out.println("Lista Medici:"); | ||
+ | for (int i = 0; i < listaMedici.size(); i++) | ||
+ | { | ||
+ | System.out.println((i+1) + ": " + listaMedici.get(i).getInfo()); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | public void stampaPazienti() | ||
+ | { | ||
+ | System.out.println("Lista Pazienti:"); | ||
+ | for (int i = 0; i < listaPazienti.size(); i++) | ||
+ | { | ||
+ | System.out.println((i+1) + ": " + listaPazienti.get(i).getInfo()); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Classe Principale: classe che contiene il metodo main. | ||
+ | <syntaxhighlight lang="java" line> | ||
+ | import java.util.ArrayList; | ||
+ | |||
+ | public class Principale { | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | |||
+ | Ospedale o = new Ospedale("Policlinico"); | ||
+ | |||
+ | Medico m1 = new Medico("M_Nome1", "M_Cognome1", "M_Codice1", "Chirurgia"); | ||
+ | Medico m2 = new Medico("M_Nome2", "M_Cognome2", "M_Codice2", "Radiologia"); | ||
+ | Medico m3 = new Medico("M_Nome3", "M_Cognome3", "M_Codice3", "Cardiologia"); | ||
+ | |||
+ | ArrayList<Medico> lm = new ArrayList<Medico>(); | ||
+ | lm.add(m1); | ||
+ | lm.add(m3); | ||
+ | o.aggiungiMedici(m2); | ||
+ | o.aggiungiMedici(lm); | ||
+ | |||
+ | Paziente p1 = new Paziente("P_Nome1", "P_Cognome1", "P_Codice1", "Frattura"); | ||
+ | Paziente p2 = new Paziente("P_Nome2", "P_Cognome2", "P_Codice2", "Tumore"); | ||
+ | Paziente p3 = new Paziente("P_Nome3", "P_Cognome3", "P_Codice3", "Infarto"); | ||
+ | |||
+ | ArrayList<Paziente> lp = new ArrayList<Paziente>(); | ||
+ | lp.add(p1); | ||
+ | lp.add(p2); | ||
+ | o.aggiungiPazienti(p3); | ||
+ | o.aggiungiPazienti(lp); | ||
+ | |||
+ | System.out.println(); | ||
+ | System.out.println("////////////////////////////////////////////////"); | ||
+ | o.stampaMedici(); | ||
+ | System.out.println(); | ||
+ | o.stampaPazienti(); | ||
+ | |||
+ | } | ||
+ | } | ||
+ | |||
+ | </syntaxhighlight> |
Versione delle 09:54, 12 mag 2019
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.
public class Persona {
protected String nome;
protected String cognome;
protected String CF;
public Persona(String N, String C, String cf)
{
nome = N;
cognome = C;
CF = cf;
}
}
Classe Medico: derivata dalla classe Persona, definisce un medico in base alla propria specializzazione.
public class Medico extends Persona {
private String specializzazione;
public Medico(String N, String C, String cf, String spec) {
super(N, C, cf);
specializzazione = spec;
}
public String getInfo()
{
String info = nome + "\t" + cognome + "\t" + CF + "\t" + specializzazione;
return info;
}
}
Classe Paziente: derivata dalla classe Persona, definisce un paziente in base ad una diagnosi.
public class Paziente extends Persona {
private String diagnosi;
public Paziente(String N, String C, String cf, String D) {
super(N, C, cf);
diagnosi = D;
}
public String getInfo()
{
String info = nome + "\t" + cognome + "\t" + CF + "\t" + diagnosi;
return info;
}
}
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.
import java.util.ArrayList;
import java.util.LinkedList;
public class Ospedale {
private String nomeOspedale;
private ArrayList<Medico> listaMedici;
private LinkedList<Paziente> listaPazienti;
public Ospedale(String N)
{
nomeOspedale = N;
listaMedici = new ArrayList<Medico>();
listaPazienti = new LinkedList<Paziente>();
}
public void aggiungiMedici(Medico M)
{
listaMedici.add(M);
System.out.println("Medico Aggiunto");
}
public void aggiungiMedici(ArrayList<Medico> LM)
{
listaMedici.addAll(LM);
System.out.println("Medici Aggiunti");
}
public void aggiungiPazienti(Paziente P)
{
listaPazienti.add(P);
System.out.println("Paziente Aggiunto");
}
public void aggiungiPazienti(ArrayList<Paziente> LP)
{
listaPazienti.addAll(LP);
System.out.println("Pazienti Aggiunti");
}
public void stampaMedici()
{
System.out.println("Lista Medici:");
for (int i = 0; i < listaMedici.size(); i++)
{
System.out.println((i+1) + ": " + listaMedici.get(i).getInfo());
}
}
public void stampaPazienti()
{
System.out.println("Lista Pazienti:");
for (int i = 0; i < listaPazienti.size(); i++)
{
System.out.println((i+1) + ": " + listaPazienti.get(i).getInfo());
}
}
}
Classe Principale: classe che contiene il metodo main.
import java.util.ArrayList;
public class Principale {
public static void main(String[] args) {
Ospedale o = new Ospedale("Policlinico");
Medico m1 = new Medico("M_Nome1", "M_Cognome1", "M_Codice1", "Chirurgia");
Medico m2 = new Medico("M_Nome2", "M_Cognome2", "M_Codice2", "Radiologia");
Medico m3 = new Medico("M_Nome3", "M_Cognome3", "M_Codice3", "Cardiologia");
ArrayList<Medico> lm = new ArrayList<Medico>();
lm.add(m1);
lm.add(m3);
o.aggiungiMedici(m2);
o.aggiungiMedici(lm);
Paziente p1 = new Paziente("P_Nome1", "P_Cognome1", "P_Codice1", "Frattura");
Paziente p2 = new Paziente("P_Nome2", "P_Cognome2", "P_Codice2", "Tumore");
Paziente p3 = new Paziente("P_Nome3", "P_Cognome3", "P_Codice3", "Infarto");
ArrayList<Paziente> lp = new ArrayList<Paziente>();
lp.add(p1);
lp.add(p2);
o.aggiungiPazienti(p3);
o.aggiungiPazienti(lp);
System.out.println();
System.out.println("////////////////////////////////////////////////");
o.stampaMedici();
System.out.println();
o.stampaPazienti();
}
}