introduction to object oriented programming

23
Introduction to Object Oriented Programming Instructor:Ms.Sowmya Padmanabhan

Upload: yousaf27

Post on 11-Jul-2016

9 views

Category:

Documents


0 download

DESCRIPTION

..........................

TRANSCRIPT

Page 1: Introduction to Object Oriented Programming

Introduction to Object Oriented Programming

Instructor:Ms.Sowmya Padmanabhan

Page 2: Introduction to Object Oriented Programming

Software Evolution

• 1,0 : Binary Number System• Machine Language• Assembly Language• Procedure Programming ( Cobol, Fortran,C)• Object Oriented Programming( C++, Java)

Page 3: Introduction to Object Oriented Programming

Characteristics of Procedure-Oriented Programming

• Emphasis is on doing things (tasks)• Large programs are divided into smaller programs

known as functions.• Most of the functions share global data. Global data

are more vulnerable to an advertent change by a function

• Data move openly around the system from function to function.

• Functions transform data from one form to another.

Page 4: Introduction to Object Oriented Programming

Characteristics of Procedure-Oriented Programming

• Employs top-down approach in program design.• In case we need to revise an external data

structure, we would have to revise all functions that access the data.

• It does not model real world problems very well.This is because functions are action-oriented and do not really correspond to the elements of the problem.

Page 5: Introduction to Object Oriented Programming

Striking Features Of Object Oriented Programming(OOP)

• The major motivating factors in the invention of this approach is to salvage some of the flaws in the procedural approach.

• OOP treats data as a critical element in the program development and does not allow it to flow freely around the system.

• Emphasis is on data rather than procedure.• Programs are divided into what are known as

objects .

Page 6: Introduction to Object Oriented Programming

Striking Features Of Object Oriented Programming(OOP)

• Data Structures are designed such that they characterize the objects.

• Functions that operate on the data of an object are tied together in the data structure.

• Data is hidden and cannot be accessed by external functions.

• Objects may communicate with each other through functions.

• New data and functions can be easily added whenever necessary.

Page 7: Introduction to Object Oriented Programming

Striking Features Of Object Oriented Programming(OOP)

• Follows bottom-up approach in program design.

• OOP is an approach that provides a way of modularizing programs by creating partitioned memory for both data and functions that can be used as templates for creating copies of such modules on demand.

Page 8: Introduction to Object Oriented Programming

Basic Concepts of OOP

• Objects• Classes• Data Abstraction• Data Encapsulation• Inheritance• Polymorphism• Dynamic Binding• Message Passing

Page 9: Introduction to Object Oriented Programming

Objects

• Objects are the basic run-time entities in an OO system.

• They may represent a person, a place, a bank account, a table of data or any item that the program must handle.

• An object is considered to be a partitioned area of computer memory that stores data and a set of operations that can access data.

Page 10: Introduction to Object Oriented Programming

Classes

• We just mentioned that objects contain data and code ( functions ) to manipulate that data.

• The entire set of data and code of an object can be made a user-defined data type with the help of a class.

• In fact, objects are variables of type class.• A class is thus a collection of objects of similar type.• Classes are user defined data types but behave like

in-built data types.

Page 11: Introduction to Object Oriented Programming

Classes

• If fruit has been defined as a class, then the statement

fruit mango; will create an object mango belonging to the

class fruit. ( just like int c; creates a variable of the

type integer)

Page 12: Introduction to Object Oriented Programming

Data Abstraction,Encapsulation and Data Hiding

• The wrapping up of data and functions into a single unit ( called class) is known as encapsulation.

• Encapsulating data renders the data inaccessible to the outside world(rest of the same program and other programs).Only those functions which are wrapped in the class can access it.

• This insulation of data from direct access by the program is called data hiding.

Page 13: Introduction to Object Oriented Programming

Data Abstraction,Encapsulation and Data Hiding

• Abstraction refers to the act of representing essential features without including the background details or explanation.

Page 14: Introduction to Object Oriented Programming

Inheritance

• It is the process by which objects of one class acquire the properties of objects of another class.

• Refer to bird example demonstrated in the class.

Page 15: Introduction to Object Oriented Programming

Polymorphism• It is yet another important OOP concept.• Polymorphism means the ability to take more than one

form.In a nut shell it means “One name, multiple forms !”.• This means that a general class of operations may be

accessed in the same manner even though specific actions associated with each operation may differ.

• Polymorphism is extensively used in implementing inheritance.

• Refer to the draw example demonstrated in the class.

Page 16: Introduction to Object Oriented Programming

Dynamic Binding• Binding refers to the linking of a procedure /function

call to the code to be executed in response to the call.• Dynamic binding means that the code associated with a

given procedure/function call is not known until the time of call at run time.

• Consider the draw function in the previous example. Every object, due to inheritance, will have this function.The code inside this draw function is however unique to each object and so the draw function will be redefined in each class that defines the object.

Page 17: Introduction to Object Oriented Programming

Dynamic Binding

• At run time, the code that matches the object under current reference will be called / invoked.

Page 18: Introduction to Object Oriented Programming

Message Communication

• An OO Program consists of objects that communicate with each other.

• The process of programming in an OO language, like C++, therefore, involves the following steps:-

1. Creating classes that define objects and their behavior (functions).

2. Creating objects from class definition.3. Establishing communication among objects.

Page 19: Introduction to Object Oriented Programming

What is a message to an object?

• A message to an object is a request for execution of a function/procedure/method, and will therefore invoke a function in the receiving object that generates the desired result.

• Message Passing involves specifying the name of the object, the name of the function( message) and the information(parameter) to be sent.

employee.salary(name)

object message information

Page 20: Introduction to Object Oriented Programming

Benefits of OOP

• Through inheritance, we can eliminate redundant code and extend the use of existing classes and thereby increase re-usability of existing code (classes).

• Principle of data hiding helps the programmer to build secure programs.

• Easy to partition the work based on objects.• It is possible to map objects in the problem domain

to those objects in the program ,i.e.,emulates the real world very well.

Page 21: Introduction to Object Oriented Programming

Benefits of OOP

• Message passing techniques for communication between objects make the interface descriptions with external systems much simpler.

• Software complexity can be easily managed.

Page 22: Introduction to Object Oriented Programming

Applications of OOP

• Real-time systems• Simulation and modeling• OO data bases• Hypertext and hypermedia• AI and expert systems• Neural networks and parallel programming• Decision support and office automation systems.• Many more…

Page 23: Introduction to Object Oriented Programming

So, excited ? Let’s Explore the Object

Oriented World !!!