2 Day – Java Object Oriented Development

A 2 day course for staff with who want to understand the principles of Object oriented development using Java. This course covers OO theory as applied to Java including classes, objects, attributes, methods, encapsulation, visibility, inheritance and polymorphism. The course includes class and object design, practical implementation considerations, and using UML class diagram notation.

Prerequisites

The course is designed for staff with a basic knowledge of Java including primitive data types and object types, flow control and methods. Knowledge of defining classes and using generic collections is useful but not essential.

Learning Objectives

To introduce staff to the basic principles of Object Oriented program development using Java, specifically:

  • Understanding Object Oriented concepts
  • Interpreting UML class diagrams
  • Designing classes and interfaces
  • Building class and object relationships
  • Working with Java inheritance

Delivery

A mix of theory, demonstrations and exercises, with approximately 50% of the time allocated to practical hands-on design of objects, classes, and Java implementation considerations.

Day 1 – Object Oriented Concepts

  • Identifying objects
  • Operations and attributes
  • Value and identity objects
  • Encapsulation and visibility
  • Using UML class diagrams
  • Object relationships
  • Designing Java classes
  • Using the this object
  • Constructors
  • Immutable (final) attributes
  • Error reporting

Day 2 – Inheritance and Design

  • Interfaces
  • Inheritance
  • Super and sub-types
  • Polymorphism
  • Final classes and methods
  • Composition versus inheritance
  • Class (static) and instance properties
  • Nested classes
  • Equals() and hashCode() methods
  • Co-variance and contra-variance