Professional Documents
Culture Documents
PiM Predavanje5 KPU2021
PiM Predavanje5 KPU2021
Šesto predavanje
2 Projektovanje i modelovanje
Zavisnost (dependency) u UML
Primer 1:
import B;
public class A {
public void method1(B b) { dependency
// . . . Primer 2:
} import B;
public void method2() { public class A {
B tempB = new B(); private B b; // pogrešno!
// . . . public B getB() {
} return b;
} }
}
4 Projektovanje i modelovanje
Asocijacije (associations) u UML
5 Projektovanje i modelovanje
Implementacija asocijacije u Javi
associations
import B1;
public class A1 {
private B1 b1;
public B1 getB1() {
return b1;
}
}
6 Projektovanje i modelovanje
Asocijacije sa listama u UML
Razlika između java.util.List i java.util.ArrayList je:
java.util.List je interfejs i ne može da se konstruišu
objekti
java.util.ArrayList je klasa koja implementira java.util.List
interfejs
import java.util.ArrayList;
import java.util.List;
import B1;
associations
public class A1 {
private List b1List;
public A1() {
super();
b1List = new ArrayList();
}
// . . .
}
8 Projektovanje i modelovanje
Agregacija (aggregation) u UML
Agregacija asocijacije određuje “deo od” vezu
među klasama.
Postoje dve vrste agregacije:
Jaka agregacija (kompozicija) -povezuje deo sa celinom
s tim da se deo ne može izostaviti od celine
9 Projektovanje i modelovanje
Implementacija kompozicije u Javi
import B1;
public class A1 {
composition
private B1[] b1;
// . . .
public B1 getB1(int anIndex) {
return b1[anIndex];
}
}
10 Projektovanje i modelovanje
Primer agregacije i kompozicije
public class Student {
}
12 Projektovanje i modelovanje
Implementacija generalizacije u Javi
generalization
import B2;
public class A2 extends B2 {
// . . .
}
13 Projektovanje i modelovanje
Realizacija (realization) u UML
14 Projektovanje i modelovanje
Implementacija realizacija u Javi
realization
import B3;
public class A3 implements B3 {
// . . .
}
15 Projektovanje i modelovanje