Chapter 1. Introduction to Object-oriented Programming

Table of Contents

Introduction to Object-Oriented Programming
An Object-Oriented Class
An Object
Object-Oriented Terminology
Encapsulation
Inheritance
Polymorphism
Object-Oriented Analysis and Design
Why use the object-oriented approach?
An Example Design Problem
EE553 - Self-Assessments for OOP Introduction
OOP Assessments

Introduction to Object-Oriented Programming

Object-Oriented Programming (OOP) is the term used to describe a programming approach based on objects and classes. The object-oriented paradigm allows us to organise software as a collection of objects that consist of both data and behaviour. This is in contrast to conventional functional programming practice that only loosely connects data and behaviour.

Since the 1980s the word 'object' has appeared in relation to programming languages, with almost all languages developed since 1990 having object-oriented features. Some languages have even had object-oriented features retro-fitted. It is widely accepted that object-oriented programming is the most important and powerful way of creating software.

The object-oriented programming approach encourages:

  • Modularisation: where the application can be decomposed into modules.

  • Software re-use: where an application can be composed from existing and new modules.

An object-oriented programming language generally supports five main features:

  • Classes

  • Objects

  • Classification

  • Polymorphism

  • Inheritance