You are on page 1of 1

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

You might also like