Katso miten vaiheiden kehittyminen näkyy versionhallinnasta
Malli, erityisesti vaihe5.1. Tosin voit katsoa myös yksinkertaista mallia, jossa ei ole mukana harrastuksia.
MOTTO! Älä koskaan tee paljoa muutoksia kerralla. Testaa aina pienten muutosten jälkeen!
tee Jasen ja testaa se pikku pääohjelmalla, vaikka:
public static void main(String args[]) {
Jasen aku = new Jasen(), aku2 = new Jasen();
aku.rekisteroi();
aku2.rekisteroi();
aku.tulosta(System.out);
aku.vastaa_aku_ankka();
aku.tulosta(System.out);
aku2.vastaaAkuAnkka();
aku2.tulosta(System.out);
aku2.vastaaAkuAnkka();
aku2.tulosta(System.out);
}tee Jasenet ja testaa se pikku pääohjelmalla, vaikka:
public static void main(String args[]) {
Jasenet jasenet = new Jasenet();
Jasen aku = new Jasen(), aku2 = new Jasen();
aku.rekisteroi(); aku.vastaaAkuAnkka();
aku2.rekisteroi(); aku2.vastaaAkuAnkka();
try {
jasenet.lisaa(aku);
jasenet.lisaa(aku2);
System.out.println("========== Jäsenet testi ==============");
for (int i=0; i<jasenet.getLkm(); i++) {
Jasen jasen = jasenet.anna(i);
System.out.println("Jäsen nro: " + i);
jasen.tulosta(System.out);
}
} catch ( Jasenet.SailoException ex ) {
System.out.println(ex.getMessage());
}
}Tee Kerho-luokka ja testaa
Lisää toimivat osat käyttöliittymäluokkaan ja lisää puuttuvat palat Kerho-luokkaan
Käännä ja testaa!
Vastaavasti jos olisi esim. harrastukset, niin
HarrastusHarrastukset (mutta tämä vaikka ArrayListillä sisäisesti ei perustaulukolla)Kerhoon harrastuksetlisää käyttöliittymään jotakin, jolla nähdään että vain tietyn jäsenen harrastukset löydetään. Esimerkiksi jäsenen tulostamiseen:
public void tulosta(PrintStream os, final Jasen jasen) {
os.println("----------------------------------------------");
jasen.tulosta(os);
os.println("----------------------------------------------");
List<Harrastus> harrastukset = kerho.annaHarrastukset(jasen);
for (Harrastus har:harrastukset)
har.tulosta(os);
}Jasen-luokkaan toString() ja parse() metoditJasenet luokkaan tietojen luku/kirjoitus tiedostoonKerho-luokkaanHarrastukset (ja muille luokille)These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.