Basics Of Object Oriented Programming ( OOP )

Object Oriented Programming 

  • It treats data as a critical element in program development and does not allow it to flow freely around the system.
  • It ties data more closely to the functions that operate on it and protects it from accidental modification from outside functions.
  • OOP allows decomposition of a problem into a number of entities called objects and then builds data and functions around these objects.
  • The data of an object can be accessed only by the functions associated with that object.
  • Functions of one object can access the functions of another object.


Organization of data and function in OOP


Basics of Java

Characteristics of OOP

  • Emphasis is on data rather than procedure.
  • Programs are divided into objects.
  • Data Structures are designed such that they characterize the objects.
  • Functions that operate on data of an object are tied together in the data structure.
  • Data is hidden and can not be accessed by external functions.
  • Objects may communicate with each other through functions.
  • New data and functions can be added easily whenever necessary.
  • Follows bottom-up approach in program design.

Basic concepts of OOP

1.Classes

  • Classes are user-defined data types
  • A class is a collection of Data member and member functions.
  • Variables declared in a class are called data members and functions declared in class are called member functions or methods.
  • Objects are variables of type class. Once a class has been defined, we can create any number of objects belonging to that class.
  • Each object is associated with the data of type class with which they are created.
  • If Fruit is a class, then apple, orange, banana etc. are the objects of the class Fruit.
  • Class is a logical structure.

2.Object
  • Basic run-time entities in an object-oriented system i.e. fundamental building blocks for designing a software.
  • It is a collection of data members and associated member functions(method).
  • An object represents a particular instance of a class.
  • An object has 3 characteristics:
    1. Name
    2. State
    3. Behavior
  • Objects take up space in the memory and have associated addresses.
  • When a program is executed, objects interact by sending messages to one another.
  • Example : Book, Bank, Customer, Account etc.


3.Data Abstraction
  • Abstraction refers to the act of representing essential features without including the background details or explanation.
  • Data abstraction is an encapsulation of object’s state and behavior.
  • Data abstraction increases the power of programming languages by creating user-defined data types.
  • Classes use the concept of abstraction and are defined as a list of abstract attributes(data members) and functions(methods).
  • Since classes use the concept of data abstraction, they are also used as Abstract Data Type(ADT).

4.Encapsulation
  • Data encapsulation combines data and functions into a single unit
  • called class.
  • When using data encapsulation, data is not accessed directly, it is only accessible through the methods present inside the class.
  • Data encapsulation enables data hiding, which is an important concept of OOP.
  • Example : Capsules are wrapped with different medicines.

5.Inheritance
  • It is the process by which one object can acquire the properties of another.
  • It allows the declaration and implementation of new class/classes from existing classes.
  • The existing class is known as base class/parent class/super class and the new class/classes is/are known as derived class/child class/sub class.
  • It uses the concept of Reusability.


Types of Inheritance :
      1. Single Inheritance
      2. Multiple Inheritance
      3. Multilevel Inheritance
      4. Hierarchical Inheritance
      5. Hybrid Inheritance

6.Polymorphism

  • The ability to take more than one form is known as Polymorphism.
  • An operation may exhibit different behaviors in different instances. The behavior depends upon the types of data used in the operation.
  • + operator can be used to add 2 numbers and the result is the sum of two numbers.
  • Same + operators can be used to add 2 strings and the result is concatenation of 2 strings.
  • This process of making an operator to exhibit different behaviors in different instances is known as operator overloading.

Polymorphism (Function Overloading)

  • A single function name can be used to handle different numbers and different types of arguments.
  • Using a single function name to perform different types of tasks is known as function overloading.

7.Message Passing

  • Any processing is accomplished by sending messages to objects.
  • A message for an object is a request for execution of a procedure/function.
  • It invokes a function on the receiving object that generates the desired result.
  • Message passing involves specifying the name of the object, name of the function(message) and information to be sent.


Join Now


Previous Year Questions Now to Boost Your Exam Performance

LOADS OF LOGIC