L'obiettivo dell'esercizio è creare sotto classi con gerarchia
main
persona class
studente class
main
PHP Code:
import people.*;
public class test {
public static void main (String [] input_data) {
Studente s = new Studente("nome",1960,"math1");
Studente s1 = new Studente("nome",1960,"math");
System.out.print(((Studente)s).equals(s1));
}
}
persona class
PHP Code:
package people;
/**
* Created with xgiovio.macbookair.
* User: xgiovio
* Date: 20/11/13
* Time: 14:18
*/
public class Persona implements Cloneable{
public Persona (String in_name, int in_anno){
name = in_name;
anno_di_nascita = in_anno;
}
@Override
public boolean equals(Object obj) {
if (obj == null)
return false;
if (obj.getClass() == this.getClass()){
if (name.equals(((Persona)obj).getName())
&& anno_di_nascita == ((Persona)obj).getAnno_di_nascita()
){
return true;
}else{
return false;
}
}else{
return false;
}
}
public void setName(String name) {
this.name = name;
}
public void setAnno_di_nascita(int anno_di_nascita) {
this.anno_di_nascita = anno_di_nascita;
}
@Override
public Object clone() throws CloneNotSupportedException {
return (Persona)super.clone();
}
@Override
public String toString() {
return (getClass().getName());
}
public int getAnno_di_nascita() {
return anno_di_nascita;
}
public String getName() {
return name;
}
private String name;
private int anno_di_nascita;
}
PHP Code:
package people;
/**
* Created with xgiovio.macbookair.
* User: xgiovio
* Date: 20/11/13
* Time: 14:30
*/
public class Studente extends Persona {
public Studente (String in_name, int in_anno, String in_corso_di_studi){
super(in_name, in_anno);
corso_di_studi = in_corso_di_studi;
}
public boolean equals(Object obj) {
if ( super.equals((Persona)obj) &&
corso_di_studi.equals(((Studente)obj).getCorso_di_studi())
){
return true;
}else{
return false;
}
}
public Object clone() throws CloneNotSupportedException{
Studente temp = (Studente)(super.clone());
return temp;
}
public String toString() {
return (super.toString());
}
public String getCorso_di_studi() {
return corso_di_studi;
}
public void setCorso_di_studi(String corso_di_studi) {
this.corso_di_studi = corso_di_studi;
}
private String corso_di_studi;
}