Object-Oriented Concepts & Programming

3 Day Course
Code PSD023

Book Now - 1 Delivery Method Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online

Overview

The course is suitable for software developers who wish to gain a practical understanding of OO programming.

Objectives

This course will take delegates through the following objectives:

  • Explain the terminology of object-orientation
  • Understand the principles and practices on which object-oriented development is based
  • Become familiar with modern trends in OO development, such as component-based development, design patterns, refactoring and object modelling
  • Experience object-oriented programming first hand.

Modules

Collapse all

Object Fundamentals (8 topics)

  • Objects
  • Encapsulation
  • Methods and messages
  • Classes
  • Object instantiation and lifetimes
  • Polymorphism
  • Inheritance
  • Overriding

Development Process (8 topics)

  • Requirements and user stories
  • Modelling and UML
  • Patterns
  • Prototyping
  • Testing
  • Refactoring
  • Iterative and incremental development
  • Agile methods

Object-Oriented Programming (7 topics)

  • Static versus dynamic typing
  • Java
  • C++
  • C#
  • Scripting
  • Libraries and frameworks
  • Defining classes and inheritance, and using polymorphism

Structuring Objects (7 topics)

  • Object relationships
  • Delegation
  • Design by contract
  • CRC cards
  • Command versus query methods
  • Collections
  • Values, entities and services as objects

Relating Classes (6 topics)

  • Inheritance and substitutability
  • Pluggability
  • Abstract classes and methods
  • Dependency management
  • Pure interfaces
  • Multiple inheritance

Design Patterns (5 topics)

  • Recurring design ideas
  • Recursive whole-part structures
  • Callback and notification
  • Transparent forwarding
  • Encapsulated object creation

Refactoring (5 topics)

  • Personal hygiene for code
  • Extracting methods
  • Splitting classes
  • Generalising class hierarchies
  • Replacing explicit selection with polymorphism

Object Technologies (9 topics)

  • Persistence
  • Component-based development
  • Distributed object computing
  • Multi-tier architectures
  • COM(+)
  • .NET
  • CORBA
  • Object request brokers
  • J2EE

Prerequisites

No prior knowledge of OO concepts or OO programming is assumed. However, experience of programming in a modern programming language is required — the course is an introduction to OO programming but not an introduction to programming.

Course PDF

Print

Share this Course

Share

Recommend this Course

Sections