czwartek, 2 maja 2013

Hermetyzacja




package r4.again;
import java.text.DateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
public class RobotnikSzeregowy {
private String imie;
private Date dataZatrudnienia;
public RobotnikSzeregowy(String imie, int rok, int miesiac, int dzien) {
this.imie = imie;
this.dataZatrudnienia = new GregorianCalendar(rok, miesiac - 1, dzien)
.getTime();
}
public String getImie() {
return imie;
}
public Date getDataZatrudnienia() {
return dataZatrudnienia;
}
@Override
public String toString() {
return this.imie + ", " + DateFormat.getDateInstance().format(this.dataZatrudnienia);
}
}



package r4.again;
import java.util.Date;

public class RobotnikSzeregowyTester {
public static void main(String[] args) {
RobotnikSzeregowy[] pingwiny = new RobotnikSzeregowy[4];
pingwiny[0] = new RobotnikSzeregowy("Kowalski", 2005, 12, 15);
pingwiny[1] = new RobotnikSzeregowy("Szeregowy", 2001, 10, 10);
pingwiny[2] = new RobotnikSzeregowy("Rico", 1997, 2, 28);
pingwiny[3] = new RobotnikSzeregowy("Skipper", 1995, 7, 12);
for (RobotnikSzeregowy e : pingwiny)
System.out.println(e);
Date krolJulian = pingwiny[2].getDataZatrudnienia();
krolJulian.setTime(1000000000000L);

System.out.println("\nKról Julian wrobił pingwina Rico!");
System.out.println(pingwiny[2]);
}
}





Kowalski, 2005-12-15
Szeregowy, 2001-10-10
Rico, 1997-02-28
Skipper, 1995-07-12
Król Julian wrobił pingwina Rico!
Rico, 2001-09-09


public Date getDataZatrudnienia() {
return (Date) dataZatrudnienia.clone();
}

Kowalski, 2005-12-15
Szeregowy, 2001-10-10
Rico, 1997-02-28
Skipper, 1995-07-12
Król Julian wrobił pingwina Rico!
Rico, 1997-02-28