Об'єктно-орієнтоване програмування (перша частина)

Розробник курсу Л. В. Іванов

  Лабораторні роботи:

 

Курсова робота

Контрольні запитання з першої частини курсу

Контрольні запитання з першої частини курсу

  1. Назвіть засадничий принцип і три базових поняття ООП.
  2. Чим статичні елементи класу відрізняються від нестатичних і коли вони застосовуються?
  3. Що таке інкапсуляція і як вона реалізована в Java?
  4. Для чого здійснюється успадкування класів? Яка різниця між множинним та одиничним успадкуванням?
  5. Поняття поліморфізму. Як реалізовано поліморфізм часу компіляції і часу виконання?
  6. Як визначити віртуальну і абстрактну функції і чим вони відрізняються?
  7. Що таке інтерфейс і чим він відрізняється від абстрактного класу? Як реалізувати інтерфейс?
  8. Що таке зворотний виклик і як він реалізований у Java?
  9. Що таке лямбда-вирази та посилання на методи і як їх застосовують для реалізації функціональних інтерфейсів?
  10. Що таке узагальнене програмування, у чому його переваги і як воно реалізовано мовою Java?
  11. Чим відрізняються і як реалізовані масив, зв'язний список і множина?
  12. Для чого і як використовують асоціативні контейнери? Як організовані асоціативні контейнери?
  13. З якою метою використовують генерацію і обробку винятків?
  14. Що таке потоки символів і потоки байтів і як вони зв'язані з текстовими і бінарними файлами?
  15. Що таке XML, які особливості XML і як XML можна застосувати для опису графічного інтерфейсу користувача?
  16. Що таке програмування, кероване подіями і як воно реалізоване в Java?
  17. Що таке бібліотека JavaFX і які її переваги у порівнянні з попередніми аналогічними бібліотеками?
  18. Що таке рефлексія і як вона реалізована у Java?
  19. Що таке метапрограмування і як воно може бути реалізоване?
  20. Що таке потік виконання і як його реалізувати засобами Java?
  21. Якими засобами можна здійснити синхронізацію потоків?
  22. Що таке безпека з точки зору багатопотоковості?
  23. Що таке Stream API?
  24. Що таке UML? Назвіть діаграми UML.
  25. Яка різниця між функціональними та нефункціональними вимогами і які з цих вимог відображаються на діаграмі варіантів використання?
  26. Які є типи зв'язків на діаграмах класів?
  27. Що таке патерни проектування і як вони класифікуються? Назвіть приклади патернів.
  28. Що таке MVC?