Java OOP

Kurs Java OOP naučiće vas principima objektno orijentisanog programiranja (OOP), radu sa klasama i objektima, koršćenju objektno orijentisanog modeliranja i izgradnje hijerarhije klasa. Na ovom naprednom kursu Java programiranja proučavaće se osnovni principi OOP-a kao što su apstrakcija (interfejsi, apstraktne klase), Encapsulation, inheritance, i polymorphism. Ući će se najčešće korišćeni dizajn šabloni. Pažnju ćemo posvetiti testiranju komponenti (pisanje jediničnih testova) i konceptu Test Driven Developmenta (TDD), i korišćenju refleksije.
Veštine koje ćete steći:
- Razumevanje paradigme objektno orijentisanog programiranja
- Enkapsulacija podataka
- Korišćenje refleksija
- Primena principa objektno orijentisanog programiranja
- Stvaranje hijerarhije klasa i inheritance
- Testiranje komponenti
Teme:
Working with Abstraction
- Project Architecture
- Code Refactoring
- Enumerations
- Static Keyword
- Java Packages
Vežba: Working with Abstraction
- Rešavanje komplikovanijih i zadataka sa ispita
- Datum održvanja: uskoro.
Encapsulation
- What is Encapsulation?
- Keyword this
- Access Modifiers
- Mutable and Immutable Objects
- Keyword final
- Validation
Vežba: Encapsulation
Uskoro.
Inheritance
- Inheritance
- Class Hierarchies
- Accessing Base Class Members
- Reusing Classes
- Type of Class Reuse
Vežba: Inheritance
Uskoro.
Interfaces and Abstraction
- Abstraction
- Interfaces
- Abstract Classes
- Interfaces vs Abstract Classes
Vežba: Interfaces and Abstraction
Uskoro.
Polymorphism
- Polymorphism
- Override Methods
- Overload Methods
Vežba: Polymorphism
Uskoro.
SOLID
- Single Responsibility
- Open / Closed
- Liskov Substitution
- Interface Segregation
- Dependency Inversion
Vežba: SOLID
Uskoro.
Reflection and Annotation
- Reflection API
- Reflecting Annotations
Vežba: Reflection and Annotation
Uskoro.
Exceptions and Error Handling
- What are Exceptions ?
- Handling Exceptions
- Raising (Throwing) Exceptions
- Best Practices
- Creating Custom Exceptions
Debugging Techniques
Uskoro.
Unit Testing
- What is Unit Testing?
- Unit Testing Basics
- Dependency Injection
- Mocking and Mock Object
Vežba: Unit Testing
Uskoro.
Test Driven Development
- Code and Test
- Test-Driven Development
- Reasons to use TDD
- Myths and Misconceptions about TDD
Vežba: Test Driven Development
Uskoro.
Design Patterns
- Definition of Design Patterns
- Benefits and Drawbacks
- Types of Design Patterns
Vežba: Design Patterns
Uskoro.
Priprema za ispit
Uskoro.
Redovni ispit
- Praktični test će se održati: uskoro.
- Teorijski test će se održati: uskoro.
Ponovno polaganje ispita
- Praktični test će se održati: uskoro.
- Teorijski test će se održati: uskoro.
Kome je kurs namenjen?
Kurs je namenjen studentima koji su savladali sintaksu programskog jezika i rade sa standardnom bibliotekom, koji žele da nauče principe i dobre prakse objektno orijentisanog programiranja.