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