Object Oriented Programming in Java
Object Oriented Programming in Java
Module 1: Software Architecture and OOP
- Introduction to software architecture
- Managing structure and interactions
- Introduction to OOP
- Reusable code
Module 2: Classes and Objects
- What is a class?
- Objects as instances of classes
- Identifying classes in a design
- Class design principles
- Inheritance
Module 3: Encapsulation
- Hiding information from view
- Public, private and protected
- Packages
Module 4: Association, Aggregation and Composition
- Associations
- Aggregation
- Composition
- Choosing the right relationship
Module 5: Abstraction and Generalisation
- Interplay of abstraction and generalisation
- Abstract classes
- Interfaces
- Implementing interfaces
Module 6: Polymorphism
- Method overloading
- Method overriding
- Using polymorphism in software design
Module 7: Introduction to UML
- Use cases
- Class diagrams
- Package diagrams
- Sequence diagrams
Module 8: Multi-tier, MVC and SOA
- Two tier and three tier architectures
- Model view controller
- Service oriented architecture
Module 9: Java Beans
- Passing objects
- Bean conventions
- Serialisation
Module 10: Design Patterns
- Introduction to design patterns
- Abstract factory
- Strategies
- Commands