| Harrastus.java |
1 package kerho;
2
3 import java.io.*;
4
5 /**
6 * Harrastus joka osaa mm. itse huolehtia tunnus_nro:staan.
7 *
8 * @author Vesa Lappalainen
9 * @version 1.0, 22.02.2003
10 */
11 public class Harrastus {
12 private int tunnusNro;
13 private int jasenNro;
14 private String ala;
15 private int aloitusvuosi;
16 private int tuntiaViikossa;
17
18 private static int seuraavaNro = 1;
19
20 /**
21 * Alustetaan harrastus. Toistaiseksi ei tarvitse tehdä mitään
22 */
23 public Harrastus() {
24 // Vielä ei tarvita mitään
25 }
26
27
28 /**
29 * Alustetaan tietyn jäsenen harrastus.
30 * @param jasenNro jäsenen viitenumero
31 */
32 public Harrastus(int jasenNro) {
33 this.jasenNro = jasenNro;
34 }
35
36
37 /**
38 * Apumetodi, jolla saadaan täytettyä testiarvot Harrastukselle.
39 * Aloitusvuosi arvotaan, jotta kahdella harrastuksella ei olisi
40 * samoja tietoja.
41 * @param nro viite henkilöön, jonka harrastuksesta on kyse
42 */
43 public void vastaaPitsinNyplays(int nro) {
44 jasenNro = nro;
45 ala = "Pitsin nypläys";
46 aloitusvuosi = Jasen.rand(1900,2000);
47 tuntiaViikossa = Jasen.rand(0,60);
48 }
49
50
51 /**
52 * Tulostetaan harrastuksen tiedot
53 * @param out tietovirta johon tulostetaan
54 */
55 public void tulosta(PrintStream out) {
56 out.println(ala + " " + aloitusvuosi + " " + tuntiaViikossa);
57 }
58
59
60 /**
61 * Tulostetaan henkilön tiedot
62 * @param os tietovirta johon tulostetaan
63 */
64 public void tulosta(OutputStream os) {
65 tulosta(new PrintStream(os));
66 }
67
68 /**
69 * Antaa harrastukselle seuraavan rekisterinumeron.
70 * @return harrastuksen uusi tunnus_nro
71 * @example
72 * <pre name="test">
73 * Harrastus pitsi1 = new Harrastus();
74 * pitsi1.getTunnusNro() === 0;
75 * pitsi1.rekisteroi();
76 * Harrastus pitsi2 = new Harrastus();
77 * pitsi2.rekisteroi();
78 * int n1 = pitsi1.getTunnusNro();
79 * int n2 = pitsi2.getTunnusNro();
80 * n1 === n2-1;
81 * </pre>
82 */
83 public int rekisteroi() {
84 tunnusNro = seuraavaNro;
85 seuraavaNro++;
86 return tunnusNro;
87 }
88
89
90 /**
91 * Palautetaan harrastuksen oma id
92 * @return harrastuksen id
93 */
94 public int getTunnusNro() { return tunnusNro; }
95
96
97 /**
98 * Palautetaan mille jäsenelle harrastus kuuluu
99 * @return jäsenen id
100 */
101 public int getJasenNro() { return jasenNro; }
102
103
104 /**
105 * Testiohjelma Harrastukselle.
106 * @param args ei käytössä
107 */
108 public static void main(String[] args) {
109 Harrastus har = new Harrastus();
110 har.vastaaPitsinNyplays(2);
111 har.tulosta(System.out);
112 }
113
114 }
115
116
117