Ласло Краус |
ИР2ОО2/СИ2ОО2 Испит 1. 3. 2008. |
---|
Одговорити концизно (по једна или две реченице) и прецизно на следећа питaња:
а) (Java) Које подразумеване почетне вредности имају поља објеката неке класе и на које начине се то може променити?
б) (Java) Који су разлози да се метод неке класе прогласи final
методом?
в) (Java) Шта је обавезно а шта препоручљиво при коришћењу методе wait()
?
г) (Java) Укратко описати делегирани модел обраде догађаја.
д) (C#) Шта означава комбинација модификатора метода virtual
и new
?
Написати на језику Java следећи пакет типова:
Canvas
која може да садржи произвољан број графика и која на својој површи приказује опсег реалних координата [xmin,xmax] и [ymin,ymax]. Може да се поставља приказани опсег координата, да се израчунају целобројне координате у пикселима за задате реалне координате (две методе; ix(x) = (sir−1)⋅(x−xmin)/(xmax−xmin); iy(y) = (vis−1)⋅(ymax−y)/(ymax−ymin); где су sir и vis – ширина и висина платна у целобројним пикселима), да се додаје график који се одмах исцртава, да се затражи исцртавање и прекидање исцртавања свих садржаних графика.
Написати на језику C# следеће типове (користити својства (properties), односно индексере, где је то примерено):
niz[ind]
; индекс изван опсега пријавити изузетком типа једноставне класе). Вредност је једнака збиру вредности садржаних података. Текстуални облик је "(
pod,…,
pod)
".
// Podatak.cs interface Podatak { double Vrednost { get; } string ToString (); } // Skalar.cs class Skalar: Podatak { private double vr; public Skalar (double v) { vr = v; } public double Vrednost { get { return vr; } set { vr = value; } } public override string ToString () { return vr.ToString(); } // GIndeks.cs class GIndeks: System.Exception {} // Niz.cs class Niz: Podatak { private Podatak[] niz; public Niz (int duz) { niz = new Podatak [duz]; } public int Duz{ get { return niz.Length; } } public Podatak this[int ind] { get { if (ind<0 || ind >=Duz) throw new GIndeks (); return niz[ind]; } set { if (ind<0 || ind >=Duz) throw new GIndeks (); niz[ind] = value; } } public double Vrednost { get { double v = 0; for (int i=0; i<Duz; i++) if (niz[i] != null) v += niz[i].Vrednost; return v; } } public override string ToString () { string s = "("; for (int i=0; i<Duz; i++) { if (i > 0) s += ","; s += niz[i]; } return s + ")"; } }(⇒ почетак)
Copyright © 2010, Laslo Kraus
Последња ревизија: 1.9.2010.