Ласло Краус |
ИР2ОО2/СИ2ОО2 Испит 5. 9. 2008. |
---|
Одговорити концизно (по једна или две реченице) и прецизно на следећа питaња:
а) (Java) Објаснити појмове "бајткод" (bytecode) и "Java виртуелна машина" (JVM)?
б) (Java) Шта су иницијализациони блокови, које врсте постоје и када се извршавају?
в) (Java) Ако се у изведеној класи дефинише поље са истим именом као у основној и ако му се приступи преко референце која је типа основне класе, а указује на објекат изведене класе – којем пољу се приступа и зашто?
г) (Java) Какав је препоручени поступак заустављања нити уместо коришћења метода stop()
?
д) Које врсте скокова постоје у језику C# и које су разлике у односу на скокове у језику Java?
Написати на језику Java следећи пакет типова:
Написати на језику C# следеће типове:
// Ispred.cs public delegate bool Ispred(int a, int b); // Uporedi.cs public class Uporedi { public static bool Manje(int a, int b) { return a < b; } public static bool Vece (int a, int b) { return a > b; } } // IUredjivac.cs public interface IUredjivac { void Uredi(int[] niz, Ispred isp); } // Izbor.cs public class Izbor: IUredjivac { public void Uredi(int[] niz, Ispred isp) { for (int i=0; i<niz.Length-1; i++) for (int j=i+1; j<niz.Length; j++) if (isp(niz[j], niz[i])) { int p = niz[i]; niz[i] = niz[j]; niz[j] = p; } } } // Program.cs using System; public class Program { static void pisi(int[] niz) { for (int i=0; i<niz.Length; Console.Write(niz[i++] + " ")); Console.WriteLine(); } static void Main() { int[] niz = {9,1,3,5,2,0,4,8,7,6}; pisi(niz); IUredjivac u = new Izbor(); u.Uredi(niz, new Ispred(Uporedi.Manje)); pisi(niz); u.Uredi(niz, new Ispred(Uporedi.Vece)); pisi(niz); } }(⇒ почетак)
9 1 3 5 2 0 4 8 7 6 0 1 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 1 0
Copyright © 2010, Laslo Kraus
Последња ревизија: 1.9.2010.