/* * Olio-ohjelmoinnin perusteet I, Jorma Laurikkala. * * Yksinkertainen nisäkästä mallintava abstrakti yliluokka. * * Jorma Laurikkala (jorma.laurikkala@tuni.fi). * * Viimeksi muutettu 21.1.2020. * */ public abstract class Nisakas { /* * Kaikille nisäkkäille yhteiset tiedot ilmentymäattribuutteina. * */ // true = elää, false = edesmennyt. private boolean elossa; // Nisäkkään paino (> 0) kiloina. private double paino; /* * Rakentajat. * */ /* * Luodaan elävä nisäkäs, joka painaa 100 g. */ public Nisakas() { elossa = true; paino = 0.1; } /* * Parametrillinen rakentaja, jonka parametreilla määritellään nisäkkään * elämä (e) ja paino (kg). Paino asetetaan vain, jos se on sallittu. */ public Nisakas(boolean e, double kg) { elossa(e); paino(kg); } /* * Aksessorit. * */ public boolean elossa() { return elossa; } public void elossa(boolean e) { elossa = e; } public double paino() { return paino; } public void paino(double kg) { if (kg > 0) { paino = kg; } } /* * Kaikille nisäkkäille yhteiset toiminnot ilmentymämetodeina. * */ /* * Syömistä, jota konkreettisen aliluokan on pakko tarkentaa toteuttamalla * tämä metodi. */ public abstract void syö(); /* * Oletetaan suurin osa nisäkkäistä "pieniksi". */ public boolean onkoIso() { return false; } }