Object Oriented Programming System (OOPs)
Object means a real-world entity such as a pen, chair, table, computer, watch, etc. Object-Oriented Programming is a methodology or paradigm to design a program using classes and objects. It simplifies software development and maintenance by providing some concepts:
- Object
- Class
- Inheritance
- Polymorphism
- Abstraction
- Encapsulation
Object-Oriented Programming or OOPs refers to languages that use objects in programming, they use objects as a primary source to implement what is to happen in the code.
Objects are seen by the viewer or user, performing tasks assigned by you. Object-oriented programming aims to implement real-world entities like inheritance, hiding, polymorphism etc. in programming. The main aim of OOP is to bind together the data and the functions that operate on them so that no other part of the code can access this data except that function.
Object:
Any entity that has state and behavior is known as an object. For example, a chair, pen, table, keyboard, bike, etc. It can be physical or logical.
An Object can be defined as an instance of a class. An object contains an address and takes up some space in memory. Objects can communicate without knowing the details of each other’s data or code. The only necessary thing is the type of message accepted and the type of response returned by the objects.
Example: A dog is an object because it has states like color, name, breed, etc. as well as behaviors like wagging the tail, barking, eating, etc.
Class:
The collection of objects is called class. It is a logical entity.
A class can also be defined as a blueprint from which you can create an individual object. Class doesn’t consume any space.
Inheritance :
When one object acquires all the properties and behaviors of a parent object, it is known as inheritance. It provides code reusability. It is used to achieve runtime polymorphism.
In C++, the class which inherits the members of another class is called derived class and the class whose members are inherited is called base class. The derived class is the specialized class for the base class.
Types Of Inheritance:
- Single inheritance
- Multiple inheritance
- Hierarchical inheritance
- Multilevel inheritance
- Hybrid inheritance
Example :
#include <iostream>
using namespace std;
class Account {
public:
float salary = 60000;
};
class Programmer: public Account {
public:
float bonus = 5000;
};
int main(void) {
Programmer p1;
cout<<“Salary: “<<p1.salary<<endl;
cout<<“Bonus: “<<p1.bonus<<endl;
return 0;
}
Polymorphism :
If one task is performed in different ways, it is known as polymorphism. For example: to convince the customer differently, to draw something, for example, shape, triangle, rectangle, etc.
In Java, we use method overloading and method overriding to achieve polymorphism.
Another example can be to speak something; for example, a cat speaks meow, dog barks woof, etc.
Example :
class Bike{
void run() {System.out.println(“running”);}
}
class Splendor extends Bike{
void run() {System.out.println(“running safely with 60km”);}
public static void main(String args[]){
Bike b = new Splendor();//upcasting
b.run();
}
}
Abstraction :
Hiding internal details and showing functionality is known as abstraction. For example phone call, we don’t know the internal processing. In Java, we use abstract class and interface to achieve abstraction.
Ways to achieve Abstraction:
There are two ways to achieve abstraction in java
Abstract class (0 to 100%)
Interface (100%)
Example :
#include <iostream>
using namespace std;
class implementAbstraction {
private:
int a, b;
public:
void set(int x, int y)
{
a = x;
b = y;
}
void display()
{
cout << “a = ” << a << endl;
cout << “b = ” << b << endl;
}
};
int main()
{
implementAbstraction obj;
obj.set(10, 20);
obj.display();
return 0;
}
Encapsulation :
Binding (or wrapping) code and data together into a single unit are known as encapsulation. For example, a capsule, it is wrapped with different medicines.
A java class is the example of encapsulation. Java bean is the fully encapsulated class because all the data members are private here.
Example :
#include <iostream>
using namespace std;
class Encapsulation {
private:
int x;
public:
void set(int a) { x = a; }
int get() { return x; }
};
int main()
{
Encapsulation obj;
obj.set(5);
cout << obj.get();
return 0;
}