Exemple #1
0
        string PrikaziArtikl(IArtikl artikl)
        {
            string retStr = String.Format("\nNaziv: {0} Cijena: {1}", artikl.Naziv, artikl.Cijena);
            // Ako je mlijeko prikaži i litre
            // Da bi to mogao cast-ati ću ga u Mlijeko
            // Nećemo ovako Mlijeko m = (Mlijeko)artikl;
            Mlijeko m = artikl as Mlijeko;

            // Nema exceptiona ako cast ne ide već samo ostaje null vrijednost
            if (m != null)
            {
                retStr += " Litara: " + m.Litara.ToString();
            }
            return(retStr);
        }
Exemple #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            IArtikl artikl;

            switch (cb_artikl.SelectedItem.ToString())
            {
            case "Mlijeko":
                Mlijeko m = new Mlijeko();
                m.Litara = 1;
                artikl   = m;   // Type safety
                break;

            case "Kruh":
                artikl = new Kruh();
                break;

            default:
                artikl = new Novine();
                break;
            }

            // Bez obzira je li mlijeko, kruh ili nešto treće
            artikl.PostaviCijenu(Decimal.Parse(tb_cijena.Text));
            artikl.Naziv = tb_naziv.Text;

            ducan.Add(artikl);
            // Dodao novi artikl ajde poredeaj ih po cijeni, ali samo radi za liste koji imaju IComparable
            ducan.Sort();

            lb_ducan.Text = "Lista artikala u dućanu:";
            // I sad kada si dodao, samo to prikaži u labeli
            foreach (IArtikl a in ducan)
            {
                lb_ducan.Text += PrikaziArtikl(a);
            }
        }