ПООП — разлика између измена
Пређи на навигацију
Пређи на претрагу
(dodat github FOLLOW ME PLS) |
м (Nepotpuni odeljci) |
||
(Није приказано 6 међуизмена 3 корисника) | |||
Ред 1: | Ред 1: | ||
{{Предмет | |||
| назив = Практикум из објектно оријентисаног програмирања | |||
== | | шифра = 13С112ПООП | ||
| семестар = 4 | |||
| статус = изборни | |||
| страница = [https://rti.etf.bg.ac.rs/rti/13S112POOP/ rti.etf.rs/rti/13S112POOP] | |||
| ЕСПБ = 3 | |||
| одсек = СИ | |||
}} | |||
'''Практикум из објектно оријентисаног програмирања''' је изборни предмет у четвртом семестру. | |||
== Корисне везе == | == Корисне везе == | ||
* [https://drive.google.com/open?id=1Hurdf0yxDWLcFmWV1cQrcqtOWiAT1_iD ETF SI] | |||
* [[github:DusanTodorovic5/StockPriceSimulatorCpp|Пример C++ пројекта из 2021. године са GUI-јем]] | * [[github:DusanTodorovic5/StockPriceSimulatorCpp|Пример C++ пројекта из 2021. године са GUI-јем]] | ||
* [[github:DusanTodorovic5/StockSimulator|Пример Java пројекта из 2021. године са GUI-јем]] | |||
== Настава == | |||
{{непотпун одељак}} | |||
<!-- које се области прелазе у којем блоку, која се развојна окружења користе, шта обично долази за који колоквијум, где могу да се нађу белешке и презентације, да ли се настава на предмету уопште држи (ако се не држи то треба назначити како би било јасно да викију не недостају информације по том питању), да ли су предавања или вежбе бескорисне --> | |||
== Пројекат == | == Пројекат == | ||
{{непотпун одељак}} | |||
<!-- окружења за израду, шта се ради на домаћем, колико бодова носе, када се предају, како изгледа одбрана, да ли је обавезан --> | |||
Модификације пројекта тренутно сакупљене на викију: | Модификације пројекта тренутно сакупљене на викију: | ||
* [[ПООП/Лаб 1 2021|Лаб 2021]] | * [[ПООП/Лаб 1 2021|Лаб 2021]] | ||
* [[ПООП/ | * [[ПООП/Јун 2021|Јун 2021]] | ||
Пројектни задаци из претходних година се могу наћи [https://rti.etf.bg.ac.rs/rti/13S112POOP/materijali/ на страници предмета,] док се неки реализовани пројекти од претходних година могу наћи у [[#Корисне везе|одељку за корисне везе]]. | |||
=== Прављење ''Native'' библиотеке за Java пројекат === | |||
* Скините жељени JDK, идеално JDK 1.8. | |||
* У Java пројекту, направите класу са ''native'' методом као на примеру klase <code>MojaKlasa</code>: | |||
*: <syntaxhighlight lang="java" inline>public native int saberi(int a, int b);</syntaxhighlight> | |||
* Покрените ''Command Prompt'' или ''Terminal'' и идите до жељеног директоријума са вашом Java класом. | |||
* Покрените следећу команду | |||
*: <syntaxhighlight lang="bash" inline>javac -h . MojaKlasa.java</syntaxhighlight> | |||
* Добијени ''.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. | |||
* Ако сте успешно направили жељену билиотеку (DLL или SO), сада је можете додати у окружење у коме радите. Потребно је додати фолдер где се библиотека налази у ''Project Path'' → ''Native Libraries''. | |||
* На крају додајте у класу где је ''native'' методa статичко поље које ће учитати ту библиотеку (без екстензије). | |||
<syntaxhighlight lang="java"> | |||
public class MojaKlasa{ | |||
static { | |||
System.loadLibrary("MojaBiblioteka"); | |||
} | |||
public native int saberi(int a, int b); | |||
} | |||
</syntaxhighlight> | |||
== Начин оцењивања == | == Начин оцењивања == | ||
Ред 20: | Ред 56: | ||
* Пројектни задатак из Jave (35 поена) | * Пројектни задатак из Jave (35 поена) | ||
* Испит који се састоји из надоградње пројектног задатка из Jave (30 поена) | * Испит који се састоји из надоградње пројектног задатка из Jave (30 поена) | ||
Тренутна верзија на датум 27. фебруар 2022. у 19:08
Практикум из објектно оријентисаног програмирања је изборни предмет у четвртом семестру.
Корисне везе
- 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 поена)