You are on page 1of 2

Broj indeksa Ime i prezime Smer 1+ 2+ 3+ 4+ Σ+

ΣP Ocena
1− 2− 3− 4− Σ−

21.07.2014. OOP – Java 1


1. Klase A, B, C, D, E su u paketu P, i svaka klasa je napisana u 10. Pogrešna dodela između klasnih tipova
posebnom fajlu. 11. Beskonačna rekurzija
12. Nedostaje this. zato što argument ima isto
a) Ispred pogrešne linije u svakoj od klasa A, B, C, D, E
ime kao i polje
upisati broj greške sa spiska koja najbolje odgovara
13. Pogrešan tip rezultata metoda
pogrešnoj liniji. Ako jednoj grešci odgovara više različitih
14. Pogrešan pristup podatku koji nije statički
opisa greške, odabrati onaj koji najviše odgovara.
15. Pogrešan pristup podatku koji je statički
Moguće je da u nekoj liniji postoji više od jedne greške.
16. Pogrešan pristup metodu koji nije statički
Bodovanje: +3 za svaku otkrivenu grešku
17. Pogrešan pristup metodu koji je statički
public abstract class A { 18. Pravi se objekat apstraktne klase
private double a; 19. Nedefinisana promenljiva
public A(A r) { a = r.a; } 20. Nedefinisana polje
public A(double a) { this.a = a; } 21. Loše napisan kopirajući konstruktor
public int ma() { return a; } 9
public abstract int mv();
}
b) U telu metoda main klase M koja se nalazi u
public class B extends A {
paketu P obeležiti sve ispravne linije koda
private int b;
znakom “+” ispred linije, a neispravne znakom
public B() { super(); } 1
“–”. Smatrati da su klase A, B, C, D, E
public B(B o) {b=o.b; } 21
ispravno napisane i da svi članovi ovih klasa
public B(int r) { super(b); b=r; } 7
koji se koriste u klasi M imaju specifikatore
public int mb() { return b; }
pristupa i tipove koji su navedeni.
}
Bodovi: +1 za tačno označenu liniju,
public class C extends B { -1 za netačno označenu liniju
protected int c; 0 za liniju za koju nije upisan znak
private static int s; class M {
public C() { } public static void main(String
public C(C c) { super(c); c = c.c; } 12 a[]) {
public C(int r) { c = r; } +A a0 = new C();
public int mv() { return c * mb(); } -C c0 = a0;
public int msc() { this.c = s; } 15, 13 +E e0 = new E(4);
public static int ms() { return c + s; }14 -C c1 = new C(e0);
} -A a1 = new A(c1);
public class D extends B { -A a2 = new E.a();
int d; +A a3 = b0;
private B rb; -B b0 = new D(e0);
public D() { rb = new C(1); } +D d0 = new E(e0);
public D(int r) { d=r; rb = new B(); } -C c2 = new D(0);
public double mv() { return d; } potpis -A a4 = new A(3);
nije isti kao u natklasi -int m = e0.me();
public B rb() { return rb; } +double x = C.ms();
} -A a5 = b0.rb();
+E e1 = new E(d0.d);
public class E extends D { -C c3 = new E();
private double e; -D d1 = D();
public E() { } -B b1 = new C(E.me());
public E(E r) { super(r); e = r.e; } 1 +B b2 = e1.rb();
public E(double r) { e = r; } +double y = c3.ma();
public void me() { e = C.mv(); } 16 -B b3 = D.rb();
} +D d2 = new E(c2.c);
-E e2 = d2;
Spisak mogućih grešaka: -int k = d2.rb();
}
1. Ne postoji odgovarajući konstruktor u natklasi }
2. Ne postoji odgovarajući konstruktor u klasi
3. Klasa nema kopirajući konstruktor
4. Implicitno se poziva nepostojeći podrazumevani konstruktor
natklase
5. Pristupa se privatnom članu druge klase
6. Ne može se pristupiti članu sa zbog modifikatora pristupa
7. Polje objekta se koristi pre nego što je napravljeno
8. Nedostaje modifikator abstract
9. Ne postoji implicitna konverzija za upotrebljene vrednosne
tipove

You might also like