/* * Olio-ohjelmoinnin perusteet I. * * Testataan laatikkoa. * * Jorma Laurikkala (jorma.laurikkala@tuni.fi). * * Viimeksi muutettu 4.2.2020. * */ public class LaatikkoTesti { /* * Tulostaa minkä tahansa nisäkkään sisältävän laatikon tiedot. */ private static void tulosta(Laatikko laatikko) { Nisakas sisällä = laatikko.sisältö(); System.out.println(sisällä); } public static void main(String[] args) { // Luodaan kissa. Kissa ville = new Kissa(); // Luodaan laatikko kissoille kiinnittämällä tyyppiparametri ja asetetaan // kissa laatikkoonsa. Laatikko kissanLaatikko = new Laatikko(ville); // Tutkitaan laatikon sisältöä. Tyyppimuunnoksia ei tarvita, koska laatikko // on varattu kissoille. Kissa laatikossa = kissanLaatikko.sisältö(); // Alla oleva ei käänny, koska kissan laatikossa voi olla vain kissoja. //kissanLaatikko.sisalto("K.I.S.S.A"); // Luodaan laatikko ihmisille kiinnittämällä tyyppiparametri ja asetetaan // ihminen laatikkoonsa. Lausetta voidaan lyhentää timantilla, koska kääntäjä // pystyy päättelemään jälkimmäisen tyyppiparametrin arvon ensimmäisen // tyyppiparametrin arvosta. Näin voitaisiin tehdä myös kissan laatikkoa // luotaessa. Ihminen arska = new Ihminen(); Laatikko ihmisenLaatikko = new Laatikko<>(arska); // Tulostetaan laatikkojen sisällöt. tulosta(kissanLaatikko); tulosta(ihmisenLaatikko); } }