ПООП
Пређи на навигацију
Пређи на претрагу
Практикум из објектно оријентисаног програмирања је изборни предмет у четвртом семестру.
Корисне везе
- ETF SI
- Пример C++ пројекта из 2021. године са GUI-јем
- Пример Java пројекта из 2021. године са GUI-јем
Настава
- Овом одељку фале информације. Помозите SI Wiki тако што ћете додати потребне информације.
Пројекат
- Овом одељку фале информације. Помозите SI Wiki тако што ћете додати потребне информације.
Модификације пројекта тренутно сакупљене на викију:
Пројектни задаци из претходних година се могу наћи на страници предмета, док се неки реализовани пројекти од претходних година могу наћи у одељку за корисне везе.
Прављење Native библиотеке за Java пројекат
- Скините жељени JDK, идеално JDK 1.8.
- У Java пројекту, направите класу са native методом као на примеру klase
MojaKlasa
:public native int saberi(int a, int b);
- Покрените Command Prompt или Terminal и идите до жељеног директоријума са вашом Java класом.
- Покрените следећу команду
javac -h . MojaKlasa.java
- Добијени .h фајл прекопирајте у ваш C++ пројекат.
- Прављење библиотеке:
- Ако сте на Windows-у, потребно је направити DLL (Dynamic Link Library) и то можете урадити помоћу Visual Studio
- Промените target platform на x64 Release
- Потребно је да у Project Properties изаберете Include Directories под менијем VC++ Directories и додате путању до Include фолдера у инсталираном JDK-у. Такође додати фолдер include/win32.
- Остало је још да додате путању до библиотеке, и у истом менију VC++ Directories на пољу Library Directories додајте путању до Lib фолдера у инсталираном JDK-у.
- Ако сте на Linux или macOS потребно је само имати инсталиран JDK.
- Ако сте на Windows-у, потребно је направити DLL (Dynamic Link Library) и то можете урадити помоћу Visual Studio
- Ако сте успешно направили жељену билиотеку (DLL или SO), сада је можете додати у окружење у коме радите. Потребно је додати фолдер где се библиотека налази у Project Path → Native Libraries.
- На крају додајте у класу где је native методa статичко поље које ће учитати ту библиотеку (без екстензије).
public class MojaKlasa{
static {
System.loadLibrary("MojaBiblioteka");
}
public native int saberi(int a, int b);
}
Начин оцењивања
- Пројектни задатак из C++-a (35 поена)
- Пројектни задатак из Jave (35 поена)
- Испит који се састоји из надоградње пројектног задатка из Jave (30 поена)