/* * Olio-ohjelmoinnin perusteet I, Jorma Laurikkala. * * Yksinkertainen Kissa-luokka, jolla on rakentajia. * * Jorma Laurikkala (jorma.laurikkala@tuni.fi). * * Viimeksi muutettu 13.1.2020. * */ public class Kissa { /* * Vakiomuotoiset luokka-attribuutit. * */ // Elämien lukumäärän yläraja. public static final int MAXELOT = 9; /* * Luokka-attribuutit. * */ // Tosi, jos kissat haukottelevat. private static boolean haukottelee; /* * Ilmentymäattribuutit. * */ // Kissan väri. private String väri; // Kissan hännän tyyppi (esimerkiksi "kippura"). private String häntä; /* * Ilmentymämetodit. * */ /* * Kissa-luokan oletusrakentajassa kissaolion väriksi asetetaan musta * ja hännän tyypiksi kippura. */ public Kissa() { väri = "musta"; häntä = "kippura"; } /* * Parametrillinen rakentaja, jossa kissalle asetetaan ulkoisen tahon * määrittelemä väri (v) ja häntä (h). Annettu arvo asetetaan vain, * jos se on sallittu. */ public Kissa(String v, String h) { // Koodia lyhennetty aksessoreita kutsumalla, jolloin tarvitaan vähemmän // if-lauseita. väri(v); häntä(h); } private void hairikoi() { // Tavaroita hajoaa... } public String väri() { return väri; } public void väri(String v) { if (v != null && v.length() > 0) { väri = v; } } public String häntä() { return häntä; } public void häntä(String h) { if (h != null && h.length() > 0) { häntä = h; } } public boolean haukottelee() { return haukottelee; } public void haukottelee(boolean h) { haukottelee = h; } /* * Tulostetaan parametrina annettu ääniefekti. */ public void ääntele(String s) { System.out.println(s); } /* * Tulostetaan parametrina annettu ääniefekti k kertaa. */ public void ääntele(String s, int k) { for (int i = 0; i < k; i++) { ääntele(s); } } }