OOP

Материјали за курс из ООП-а на Математичком факултету Универзитета у Беогрaду

View on GitHub

Вежбе – Објектно-оријентисано програмирање (М, Н, В, Р, Л) @ Математички факултет

ООП Часови уживо 2019/2020 Часови уживо 2020/2021


Садржај курса

  1. Увод у Јаву
    1. Примитивни типови података у Јави

    2. Учитавање са стандардног улаза (класа Scanner)

    3. for петља, while петља, рекурзија

    4. Библиотека математичких функција (класа Math)

    5. Пројекат са свим кодовима

    6. Домаћи

  2. Низови, матрице и нискe
    1. Низови и матрице примитивних типова

    2. Класа Arrays

    3. Класе String и StringBuilder

    4. Пројекат са свим кодовима

    5. Домаћи: низови, ниске

  3. Објектно-оријентисано програмирање
    1. Класа Student : поља, конструктор, get и set методе, метод toString, this

    2. Побољшање класе Student: увођење валидација, приватни методи

    3. Класа Tacka: подразумевани и стандардни конструктор, поређење објеката

    4. Пројекат са свим кодовима

    5. Домаћи

  4. Наслеђивање

    1. Допуна класе Tacka: конструктор копије, статичке променљиве и методе

    2. Наслеђивање кроз пример хијерарјије облика:
      • Енкапсулација
      • Спецификатори видљивости
      • Конструктори наткласе и променљива super
      • Превазилажење метода наткласе (toString из класе Object)
    3. Пројекат са свим кодовима

    4. Домаћи
  5. Апстрактне класе, полиморфизам
    1. Проширивање хијерархије облика: апстрактни методи за рачунање површине и обима, оператор instanceof и метод getClass().

    2. Хијерархија класа за описивање израза

    3. Допуна хијерархије израза: апстрактни метод за прављење копија објеката

    4. Пројекат са свим кодовима

  6. Интерфејси
    1. Имплементација интерфејса SrpskiJezik и EngleskiJezik.

    2. Проширивање хијерархије облика: класа Duz, интерфејси Obim и Povrsina.

    3. Имплементација интерфејса Stek, енумерациони тип Operacija.

    4. Имплементација интерфејса Red.

    5. Клонирање: имплементација интерфејса Clonable, плитко и дубоко клонирање.

    6. Пројекат са свим кодовима

  7. Изузеци

    1. Хватање изузетка - try-catch блок

    2. Вишеструки изузеци

    3. Затварање ресурса - finally блок

    4. Аутоматско затварање ресурса - try-with-resources блок

    5. Пројекат са свим кодовима

  8. Генеричке класе

    1. Генеричке функције

    2. Генеричка класа Kutija

    3. Генеричка класа OpcionaVrednost, wildcard

    4. Генеричка класа UredjeniPar - више типских параметара

    5. Генерички интерфејс GenerickiStek

    6. Пројекат са свим кодовима

  9. Генеричке колекције

    1. LinkendList<T>

    2. ArrayList<T>

    3. TreeSet<T>

    4. TreeMap<T>

    5. HashMap<T>

    6. Пројекат са свим кодовима

  10. Поређење објеката

    1. Интерфејс Comparable<T>

    2. Интерфејс Comparator<T>

    3. Поређење објеката хијерархије облика

    4. Пројекат са свим кодовима

  11. Датотеке
    1. IO pristup

    2. NIO pristup

    3. Пројекат са свим кодовима

  12. Графичко корисничко окружење

    1. Библиотека JavaFx

    2. Контејнер елементи - HBox и VBox

    3. Елементи за обележавање - Label

    4. Дугмићи и акције - Button

    5. Текстуална поља и области - TextField и TextArea

    6. Радио дугмићи - RadioButton

    7. Платно за цртање - Canvas

    8. Пројекат са свим кодовима

  13. Вежбање за испит

    1. Решавање рока Јануар1ПС 2021. (Вакцине)

    2. Решавање рока Септембар3 2021. (СНД)


ООП Часови уживо 2019/2020 Часови уживо 2020/2021