You are on page 1of 13

Object Oriented

Programming
Object Oriented Programming
versus Procedural Approach
Procedural Programming focuses on
code acting on data thought, whereas
OOPA works on the thought of data
controlling access to code through
objects.
Object Oriented Programming is at
the heart of Java and not an option as
it is in C++.
OOPS Concepts
Abstraction
Encapsulation
Inheritance/Code reusability
Polymorphism
OOPS Components

Object
Class
Abstraction

The process of hiding irrelevant


details of code complexity from user.
Controls the visibility of information.

Focuses on the essential


characteristics of some object, relative
to the perspective of the viewer.
Encapsulation

The method of combining the data


member & member functions of an
object into a single unit.
Isolates the functional details of the
object from outside the class.
Inheritance/Code reusability
The process of deriving new classes from
the existing ones.
Allows a class to inherit the properties from
another class.
Inheritance provides the idea of reusability,
because using it we can modify the existing
classes by adding new features into it. The
resulting class will have the combined
features of both the classes.
Polymorphism
Ability to take more than one form.
The same operation may exhibit different
behavior in different instances.
Behavior depends on the types of data used
in the operation.
Types
Runtime polymorphism
Compile time polymorphism
Object
Basic building block for OOP.
Usually correspond to real life entities.
A unit of s/w comprising of:
State/Attribute defines the properties of the object &
the current values of each of these properties.
Behavior defines the response of an object in terms
of its state changes and message passing.
Identity defines a unique name.
An object stores its state in fields (variables in some
programming languages) and exposes its behavior
through methods (functions in some programming
languages).
Class

a blueprint that describes the nature


of something.
User-defined datatype.

Used to represent a template for


several similar type of objects.
Objects of the same class have the
same definition both for their state and
behavior.
Instance creation of an object for a
particular class.
Constructors initialize an object
immediately upon creation. A constructor is
automatically called immediately after the
object is created.
Interface - an interface is a group of related
methods with empty bodies.
Package - A package is a namespace that
organizes a set of related classes and
interfaces. Conceptually we can think of
packages as being similar to different
folders on your computer.
Access specifiers
Java allows us to control access to classes,
methods, and fields via so-called access
specifiers.
Java offers four access specifiers, listed
below in decreasing accessibility:
Public
Protected
Default
Private
Access level permitted by
each specifier
publi priva
Situation c
protected default
te

Accessibletoclass
yes yes yes no
fromsamepackage?

Accessibletoclass
fromdifferent yes no,unless it is a subclass no no
package?

You might also like