Example #1
0
        /*
         * Felmerult az igeny arra, hogy a "vagyon" entitasokat a zaloghaz szamara becsomagoljuk. Minden zaloghazi vagyontargyhoz tartozik
         * egy szamlaszam, mely a zaloghaz szempontjabol egyedi. A wrapper osztalyt ha generikusan keszitjuk el, akkor nincs szukseg ket wrapper osztalyt
         * keszitenunk, eleg egy template-et!
         * Amennyiben egy ingosag negativ lenne outcome soran, a wrapper nullazza ki (ne egyszeruen nullaza, mivel fel kell tudni keszulni arra, hogy
         * "valaki" esetleg figyeli egy esemenyen keresztul a vagyontargy valtozasat, ezert a csokkenst pontosan kell vegrehajtani (kivetel lekezelese, melybol
         * kiderul hogy mennyivel kell az outcome-ot hivni ahhoz, hogy pont nulla legyen a vagyontargy darabszama).
         */
        // generic class
        private static void testAccount()
        {
            Console.WriteLine("----[ Test Account ]----");
            Account<Money> moneyAccount = new Account<Money>("MON001", new Money(Currency.CHF, 500));
            Console.WriteLine(moneyAccount);
            moneyAccount.income(100);
            moneyAccount.outcome(50);
            Console.WriteLine(moneyAccount);

            Account<Chattel> chattelAccount = new Account<Chattel>("CHA001", new Chattel("Stamp", 1500, 4));
            Console.WriteLine(chattelAccount);
            chattelAccount.outcome(6);
            Console.WriteLine(chattelAccount);
        }