La traccia che ci hanno dato è questa , ma non ho capito bene come implementare il tutto Io ho svolto seguendo le indicazioni del docente del corso qui di Java ( di formazione ) dividendo le classi in CRUD, classi e View .
La traccia è questa :
GESTIONE DI UNA AZIENDA DI TIPO ARRAYLIST
ARRAYLIST DI TIPO DIPENDENTE
LAVORARE CON L'EREDITARIETA'
-DIPENDENTE
-MANAGER
-DIRIGENTE
CREARE LA CLASSE BASE PERSONA:
ID (INT)
NOME (STRING)
COGNOME (STRING)
SESSO
DATA DI NASCITA (DATE)
LUOGO DI NASCITA (STRING)
CODIC FISCALE. (STRING)
DIPENDENTE EREDITA PERSONA:
MATRICOLA (STRING)
ID TITOLO DI STUDIO LICENZIA MEDIA DIPLOMA LAUREA 3 E MAGISTRALE
ID RUOLO AMMINISTRATORE, DIRETTORE GENERALE, COMMERCIALE, PROGRAMMATORE,PROJECT MANAGER,SISTEMISTA E DBA
STIPENDIO (DOUBLE)
DOVRA' AVERE ALTRI DUE MODEL CON ID TITOLO DI STUDIO E ID RUOLO
MANAGER EREDITA DIPENDENTE
AREA DI RESPONSABILITA' (STRING)
DIRIGENTE EREDITA MANAGER
LIVELLO FUNZIONALE (STRING)
CLASSE CRUD
CREARE ARRAYLIST AZIENDA
VETTORE DI TIPO RUOLO
VETTORE DI TIPO TITOLO DI STUDIO
-INSERISCI PASSARE DIPENDENTE D
-MODIFICA PASSARE INT I, DIPENDENTE D
-CANCELLAZIONE INT I;
-LEGGI() RESTITUISCE INDIRIZZO DELL'ARRAY
-LEGGI INT //mi legge solo l'indice che gli passo
CLASSE VIEW:
LEGGI STRINGA
LEGGI INTERO
LEGGI DOUBLE
VISUALIZZA MESSAGGIO
MASCHERA INSERIMENTO //chiedere cosa voglio inserire fare lo switch case
MASCHERA MODIFICA
CANCELLA
VISUALIZZA //leggi di crud mi legge il valore e mi visualizza tutto tutto.
MENU PRINCIPALI //1INSERISCI 2MODIFICA 3CANCELLA 4VISUALIZZA 5ESCI
Io ho svolto cosi :
package Controller , classe controller ( come ci hanno detto di fare ) che ancora non implemento
package Controller;
import java.util.Scanner;
import Model.Dipendente;
import Model.Persona;
import Model.Ruolo;
import Model.Titolo;
public class Controller {
public static void main(String[] args) {
}
}
Model classe dipendente
package Model;
import Model.Persona;
public class Dipendente extends Persona {
private String matricola;
private int ruolo;
private int titoloStudio;
private double stipendio;
public String getMatricola() {
return matricola;
}
public int getRuolo() {
return ruolo;
}
public int getTitoloStudio() {
return titoloStudio;
}
public double getStipendio() {
return stipendio;
}
public void setMatricola(String matricola ) {
this.matricola=matricola;
}
public void setRuolo(int ruolo) {
this.ruolo=ruolo;
}
public void setTitoloStudio(int titoloS) {
this.titoloStudio=titoloS;
}
public void setStipendio(double stipendio ) {
this.stipendio=stipendio;
}
@Override
public String toString() {
return "Dipendente [matricola=" + matricola + ", ruolo=" + ruolo + ", titoloStudio=" + titoloStudio
+ ", stipendio=" + stipendio + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((matricola == null) ? 0 : matricola.hashCode());
result = prime * result + ruolo;
long temp;
temp = Double.doubleToLongBits(stipendio);
result = prime * result + (int) (temp ^ (temp >>> 32));
result = prime * result + titoloStudio;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Dipendente other = (Dipendente) obj;
if (matricola == null) {
if (other.matricola != null)
return false;
} else if (!matricola.equals(other.matricola))
return false;
if (ruolo != other.ruolo)
return false;
if (Double.doubleToLongBits(stipendio) != Double.doubleToLongBits(other.stipendio))
return false;
if (titoloStudio != other.titoloStudio)
return false;
return true;
}
}
package Model , classe Persona
package Model;
import java.util.*;
public class Persona {
private int ID;
private String name;
private String surname;
private String sex;
private Calendar data;
private String CF;
private String luogoNascita;
public Calendar getData() {
return data;
}
public String getluogoNascita() {
return luogoNascita;
}
public String getCF() {
return CF;
}
public String getSex() {
return sex;
}
public String getName() {
return name;
}
public String getSurname() {
return surname;
}
public int getID() {
return ID;
}
public void setID(int id) {
this.ID=id;
}
public void setSex(String sex) {
this.sex=sex;
}
public void setCF(String cf) {
this.CF=cf;
}
public void setluogoNascita(String luogoNascita) {
this.luogoNascita=luogoNascita;
}
public void setData(Calendar data) {
this.data = data;
}
public void setName(String name) {
this.name=name;
}
public void setSurname(String surname) {
this.surname=surname;
}
public Persona() {};
public Persona(String name, String surname, int ID,String CF, String luogoNascita,String sex,Calendar data){
this.name = name;
this.surname=surname;
this.ID=ID;
this.CF=CF;
this.luogoNascita=luogoNascita;
this.sex=sex;
this.data=data;
}
@Override
public String toString() {
return "Persona [ID=" + ID + ", name=" + name + ", surname=" + surname + ", sex=" + sex + ", data=" + data
+ ", CF=" + CF + ", luogoNascita=" + luogoNascita + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((CF == null) ? 0 : CF.hashCode());
result = prime * result + ID;
result = prime * result + ((data == null) ? 0 : data.hashCode());
result = prime * result + ((luogoNascita == null) ? 0 : luogoNascita.hashCode());
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + ((sex == null) ? 0 : sex.hashCode());
result = prime * result + ((surname == null) ? 0 : surname.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Persona other = (Persona) obj;
if (CF == null) {
if (other.CF != null)
return false;
} else if (!CF.equals(other.CF))
return false;
if (ID != other.ID)
return false;
if (data == null) {
if (other.data != null)
return false;
} else if (!data.equals(other.data))
return false;
if (luogoNascita == null) {
if (other.luogoNascita != null)
return false;
} else if (!luogoNascita.equals(other.luogoNascita))
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (sex == null) {
if (other.sex != null)
return false;
} else if (!sex.equals(other.sex))
return false;
if (surname == null) {
if (other.surname != null)
return false;
} else if (!surname.equals(other.surname))
return false;
return true;
}
}
package Model , class Ruolo
package Model;
import Model.Dipendente;
import Model.Persona;
public class Ruolo {
private String [] ruol = new String[] {
"1 - \nPROGRAMMATORE\n",
"2 - \nAMMINISTRATORE\n",
"3 - \nDIRETTORE GENERALE\n",
"4 - \nCOMMERCIALE\n",
"5 - \nPROJECT MANAGER\n",
"6 - \nSISTEMISTA\n",
"7 - \nDBA\n"
};
public String[] getRuol() {
return ruol;
}
}
package Model , classe Titolo
package Model;
public class Titolo {
private String [] titolo = new String[] {
"8 - \n Diploma di Scuola Inferiore\n",
"9 - \nDiploma di Scuola Superiore\n",
"10 - \nLaurea triennale\n",
"11 - \nLaurea Magistrale\n"
};
public String[] getTitolo() {
return titolo;
}
}
package View , classe CRUD
package View;
import java.util.ArrayList;
import java.util.Calendar;
import Model.Dipendente;
import Model.Persona;
import Model.Ruolo;
import Model.Titolo;
public class CRUD {
int day;
int month;
int year;
View v = new View();
int ID;
String name;
String surname;
String sex;
Calendar data;
String CF;
String luogoNascita;
int scelta;
public void inserisci(ArrayList<Dipendente> azienda) {
ID=v.leggiIntero("Inserisci ID: ");
name=v.leggiStringa("Inserisci Nome ");
surname=v.leggiStringa("Inserisci cognome");
sex=v.leggiStringa("Inserisci sesso : ");
CF=v.leggiStringa("Inserisci CF:");
luogoNascita=v.leggiStringa("Inserisci luogo nascita ");
day=v.leggiIntero("Inserisci giorno");
month=v.leggiIntero("Inserisci mese");
year=v.leggiIntero("Inserisci anno");
data.set(day,month,year);
System.out.println(v.toString());
scelta=v.leggiIntero("Inserisci un valore : ");
switch(scelta) {
case 1:
System.out.println("1 inserisci Dipendente");
Dipendente dip = new Dipendente();
dip.getStipendio();
break;
case 2:
System.out.println("2 modifica :");
d.get
}
}
}
package View, classe View
package View;
import java.util.Scanner;
import Model.Dipendente;
import Model.Persona;
import Model.Ruolo;
import Model.Titolo;
public class View {
static Scanner input = new Scanner(System.in);
public String leggiStringa(String mess) {
String str;
System.out.print(mess);
str = input.nextLine();
return str;
}
public int leggiIntero(String mess) {
int in = -1;
boolean flag;
do {
flag = false;
String str=leggiStringa(mess);
try {
if(!(str.equals(""))) {
in = Integer.parseInt(str);
}
}
catch(NumberFormatException e) {
System.out.print("Valore non valido! " + mess);
flag = true;
}
} while(flag);
return in;
}