Elektrotehnicki fakultet, Beograd  Ласло Краус ИР2ОО2/СИ2ОО2
Испит
1. 3. 2008.

Аутори: Игор Тартаља и Ласло Краус

Задаци: 1 2 3 | Напоменe | Решења: 3

Поставка задатка 1 (укупно 30 поена) ( почетак)

Одговорити концизно (по једна или две реченице) и прецизно на следећа питaња:

а) (Java) Које подразумеване почетне вредности имају поља објеката неке класе и на које начине се то може променити?

б) (Java) Који су разлози да се метод неке класе прогласи final методом?

в) (Java) Шта је обавезно а шта препоручљиво при коришћењу методе wait()?

г) (Java) Укратко описати делегирани модел обраде догађаја.

д) (C#) Шта означава комбинација модификатора метода virtual и new?

Поставка задатка 2 (55 поена) ( почетак)

Написати на језику Java следећи пакет типова:

Поставка задатка 3 (15 поена) ( решење | почетак)

Написати на језику C# следеће типове (користити својства (properties), односно индексере, где је то примерено):


Напоменe ( почетак)


Решење задатка 3 ( поставка | почетак)

// 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 + ")";
  }
}
( почетак)
         
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs

Copyright © 2010, Laslo Kraus
Последња ревизија: 1.9.2010.