/* * Lisäharjoitukset, tehtävä 4. * * Olio-ohjelmoinnin perusteet I, kevät 2020. * * Rajapinta parillisille olioille. * * Jorma Laurikkala (jorma.laurikkala@tuni.fi). * */ public interface Parillinen { /* * Palauttaa true-arvon, jos tällä oliolla on pari. Paluuarvo on muuten false. */ public abstract boolean parillinen(); /* * Yhdistää kaksi oliota toisiinsa kaksisuuntaisesti. Olio, jonka kautta * tätä metodia kutsutaan yhdistetään parametrina saatuun olioon ja * parametrina saatu olio liitetään olioon, jonka kautta tätä metodia * on kutsutaan. Paluuarvo on true, jos yhdistäminen onnistuu. Paluuarvo * on false, jos yhdistäminen epäonnistuu esimerkiksi siksi, että parametri * on null-arvoinen tai se ei ole parillinen tai oliota yritetään yhdistää * itseensä. */ public abstract boolean yhdistä(Object toinen); /* * Paluuarvo on true, jos olio, jonka kautta tätä metodia kutsutaan ja * parametrina saatu olio ovat pari. Olio ei voi olla itsensä pari. */ public abstract boolean onPari(Object toinen); /* * Erottaa kaksi oliota toisistaan kaksisuuntaisesti. Paluuarvo on true, * jos olio, jonka kautta tätä metodia kutsutaan ja parametrina saatu olio * eivät ole enää pari. Paluuarvo on false ja olioiden tilat jäävät entiselleen, * jos parametrina saatu olio ei ole pari tämän olion kanssa tai parametri * on null arvoinen. */ public abstract boolean erota(Object toinen); }