/* * Olio-ohjelmoinnin perusteet I. * * Testataan laatikkoa. * * Jorma Laurikkala (jorma.laurikkala@tuni.fi). * * Viimeksi muutettu 4.2.2020. * */ public class LaatikkoTesti { /* * Tulostaa minkä tahansa laatikon tiedot. */ private static void tulosta(Laatikko laatikko) { Object sisällä = laatikko.sisältö(); System.out.println(sisällä); } public static void main(String[] args) { // Luodaan peruskissa. Kissa ville = new Kissa(); // Luodaan laatikko ja asetetaan kissa laatikkoonsa. Laatikko kissanLaatikko = new Laatikko(ville); // Tutkitaan laatikon sisältöä. Tyyppimuunnos tarvitaan, koska lukuaksessori // palauttaa Object-tyyppisen viitteen. Kissa laatikossa = (Kissa)kissanLaatikko.sisältö(); // Monimuotoiseen laatikkoon voidaan asettaa tarkoituksella // ja vahingossa muitakin kuin kissaolioita. kissanLaatikko.sisältö("K.I.S.S.A"); // Luodaan laatikko ja asetetaan ihminen laatikkoonsa. Ihminen arska = new Ihminen(); Laatikko ihmisenLaatikko = new Laatikko(arska); // Tulostetaan laatikkojen sisällöt. tulosta(kissanLaatikko); tulosta(ihmisenLaatikko); } }