You are on page 1of 15

Basic Concepts of Object Orientation

Object-Oriented Analysis CIM2566 Bavy LI

What is Object-Orientation?

Object-orientation is the use of objects and classes in analysis, design, and programming.
The use of objects distinguishes objectorientation from other techniques such as

traditional structured methods (process-based: data and function are separate) knowledge based systems (logic programming: Prolog) mathematical methods (functional programming: Scheme).
Prepared by: Bavy LI

Basic Concepts of OO

Why did OO Arise?

Modeling in analysis and software design and languages for programming originally focused on process. But many results indicated the process approach was problematic and led to the software crisis.
Hierarchical Functional Decomposition Top-Down Design (TDD) What

are the advantages/disadvantages of TDD?

Prepared by: Bavy LI

Basic Concepts of OO

Why does Organization need Object-Orientation?

Organizationally, OO provides a superior means of:


Problem/Business Analysis and Requirements Better Software Development/Modern programming

practice Superior Software Engineering Metrics Web Presence and Utilization Software Reuse Software Use Enterprise Engineering

Prepared by: Bavy LI

Basic Concepts of OO

Terminology 1

OOA Object Oriented Analysis


analyzing

your problem by decomposition into

objects

OOD Object Oriented Design


designing

your code into objects

OOP Object Oriented Programming


programming

using the concepts of object

orientation
Prepared by: Bavy LI

Basic Concepts of OO

Terminology 2

Class
a

design (like a blueprint for a house) of an object that contains data and methods instance (like a particular house with a street address) of a class with a unique identity

Object
an

Abstraction
only

exposing the important, relevant qualities of an object or system

Prepared by: Bavy LI

Basic Concepts of OO

Terminology 3

Attribute
a

named property of an object capable of holding state, as similar as instance variables or data members operation on an object, also called a function or operation

Method
an

Prepared by: Bavy LI

Basic Concepts of OO

What are the Primary ObjectOriented Languages Today?

C++ added classes to C as early as 1985


A

hybrid object-oriented languages with powerful features including multiple inheritance, exceptions, templates, operator overloading etc

Java was created as a simplification of C++ that could run on any machine, providing a writeonce/run anywhere capability. EJB 2.0 is the new standard for the J2EE, or Java 2 Platform, Enterprise Edition

Prepared by: Bavy LI

Basic Concepts of OO

What are the Primary ObjectOriented Methodologies Today?

The Unified Modeling Language, or UML, has become the industry standard design and analysis notation, which lends itself to a methodology.

Prepared by: Bavy LI

Basic Concepts of OO

What are the Benefits Of ObjectOrientation?

Reuse, quality, an emphasis on modeling the real world, a consistent OOA/OOD/OOP package, naturalness (our "object concept"), resistance to change, encapsulation and abstraction, and etc.
On resistance to change, system objects change infrequently while processes and procedures (top-down) are frequently changed.
Basic Concepts of OO 10

Prepared by: Bavy LI

Big Three (and a half)

The three and a half key ingredients of OOP are


Encapsulation,

Inheritance,
Polymorphism,

and Message Passing

Prepared by: Bavy LI

Basic Concepts of OO

11

Encapsulation

hides implementation, shows only interface


"Encapsulation

is the process of hiding all of the details of an object that do not contribute to its essential characteristics." Booch

Prepared by: Bavy LI

Basic Concepts of OO

12

Inheritance

IS A relationship
A

new class can be created by "Inheriting" from another class or multiple classes. The new class inherits methods and data members of the "parent" class. This is also called "extending" the base class, or "sub-classing".

Prepared by: Bavy LI

Basic Concepts of OO

13

Message Passing

a message is an invocation of a method on an object


"an

object-oriented program is a bunch of objects laying around sending messages to one another."

Prepared by: Bavy LI

Basic Concepts of OO

14

Polymorphism

the ability to hide many different implementations behind a single interface. When objects respond differently to the same message this is a form of Polymorphism.

Prepared by: Bavy LI

Basic Concepts of OO

15

You might also like