Unit 1: Principles of Object Oriented Programming
- Fill in the blanks
- State whether the given statements are TRUE or FALSE
- Name the following
- Write short notes with an example (if applicable)
- Distinguish between
- Answer the following questions
- Video Explanations
Fill in the blanks
An act of using essential features without including background details is called Data Abstraction.
In an Object Oriented Programming, the stress is given on data.
Wrapping of data and function together as a single unit is called Encapsulation.
An object has unique identity through which it may differ with some characteristics and behaviour.
The objects may communicate with each other through function.
In POP, the global data are loosely attached to the function.
The process by which a class acquires the property of another class is known as inheritance.
In Object Oriented Programming, using a function for many purposes is termed as polymorphism.
State whether the given statements are TRUE or FALSE
In assembly level language, the instructions are given in terms of 0's and 1's.
PASCAL is a structure oriented programming language.
Machine level language requires a translator to convert input instructions to be understood by the machine.
Compilers and Interpreters are referred to as Language processors.
A process according to which a class acquires the characteristics from another class is Encapsulation.
Procedure oriented program stresses on data.
C++ is also an object oriented programming language.
An object is identified by its characteristics.
Function is a set of objects that share the common state and behaviour.
Encapsulation keeps data safe from outside interference.
Name the following
Two categories of Low Level languages
(a) Assembly Language
(b) Machine Language
Two Procedure Oriented Languages
Two structure oriented programming languages
Two examples of Data Abstraction in your daily life
(a) Electrical Switchboard
Two examples of real world objects
Two basic principles of Object Oriented Programming
Write short notes with an example (if applicable)
Object Oriented Programming
Object Oriented Programming is an approach in which stress is laid on data rather than functions. The data values remain associated with the functions of a particular block of the program so as to encourage data security.
Data Abstraction is the act of representing the essential features without knowing the background details. Example of Data Abstraction is given here.
Wrapping of data and functions that operate on that data into a single unit is called Encapsulation. Example of Encapsulation is given here.
Machine Level language
For the processor to perform any computation, we need to give the instructions and data as a sequence of 0's & 1's. This binary sequence that a processor understands is known as its Machine Level language. Machine Level language is made up of instructions and data that are all binary numbers. Machine Level language of a processor differs from vendor to vendor. So programs written in Machine Level language of one type of processors will not work on a different type of processor.
In object-oriented programming, Polymorphism provides the means to perform a single action in multiple different ways. Example of Polymorphism is given here.
Procedure Oriented Programming
Procedure Oriented Programming basically consists of a list of instructions for the computer to follow and these are organized into groups known as functions. In Procedure Oriented Programming, most of the functions share global data and this data moves more openly around the system from one function to the other.
Inheritance enables new classes to receive or inherit the properties and methods of existing classes. Example of Inheritance is given here.
Assembly Level language
In Assembly Level language, instructions are written in more english like words knowns as mnemonics. These instructions are not understood by the processor directly. They are converted into equivalent Machine Level instructions through a translator program called Assembler. Assembly Level language is machine dependent that makes it unsuitable for writing portable programs that can execute across machines.
Object Oriented Programming and Procedure Oriented Programming
|Object Oriented Programming||Procedure Oriented Programming|
|The stress is put on data rather than functions.||The stress is put on function rather than data.|
|The data is restricted, to be used in a specific program area.||It allows data to flow freely throughout the program.|
|It follows bottom-up programming approach.||It follows top-down programming approach.|
High Level language and Low Level language
|High Level language||Low Level language|
|High Level language is machine independent.||Low Level language is machine dependent.|
|High Level language is human friendly so it is easy to understand for programmers.||Low Level language is machine friendly so it is difficult to understand for programmers.|
|High Level language needs a compiler or interpreter for translation to machine code.||Low Level language might need a assembler for translation to machine code.|
|Programs written in High Level language are easier to modify and debug.||Programs written in Low Level language are hard to modify and debug.|
Compiler and Interpreter
|It converts the whole source program into the object program at once.||It converts the source program into the object program, one line at a time.|
|It displays the errors for the whole program together, after the compilation.||It displays the error one line at a time and only after fixing that error the control goes to the next line.|
Answer the following questions
Enlist the features of Object Oriented Programming.
Some of the features of Object Oriented Programming are:
- It gives stress on data items rather than functions.
- It makes the complete program/problem simpler by dividing it into number of objects.
- The objects can be used as a bridge to have data flow from one function to another.
- The concept of data hiding enhances security in programs.
- It is highly beneficial to solve complex programs.
Which OOP principle implements function overloading? Explain
Polymorphism implements function overloading. It is the process of using a function/method for more than one purpose. In function overloading, we write more than one function with the same name but differing in the number and types of their arguments to perform different tasks. This way we get different behaviours using the same function name.
Write three benefits of Object Oriented Programming.
Three benefits of Object Oriented Programming are:
- The reusability of the program code is enhanced.
- Data abstraction makes the software easier to handle.
- Software for complex tasks can be easily developed.
Mention two limitations of:
(a) Procedure Oriented Programming
- No restriction on data values so managing changes is difficult as it impacts the entire program.
- No reusability concept hence time management, testing and length of the program increases.
(b) Object Oriented Programming
- Requires intensive testing processes.
- Solving problems takes more time as compared to Procedure Oriented Programming.
How is Encapsulation useful in Object Oriented Programming? Explain
Encapsulation restricts the free flow of data from one object to another. The data and functions are wrapped together in an object in such a way that the data of a particular object can only be used in associated functions. Thus, Encapsulation helps in protecting the data from unauthorised access.
What are the advantages of High Level languages?
- High Level languages are machine independent.
- High Level languages are human readable as instructions are written using English like words and phrases.
- It is easier to understand and develop the program logic in High Level languages.
- The error detection and correction is easier.