OOPs in Java
Object Oriented Programming (OOPs)
Object-oriented
programming: As
the name suggests, Object-Oriented Programming or OOPs refers to languages that
uses objects in programming. 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.
OOPs Concepts:
·
Class
·
Object
·
Method
·
Message
Passing
the different characteristics of an
Object-Oriented Programming language:
1. Polymorphism: Polymorphism refers to the ability of
OOPs programming languages to differentiate between entities with the same name
efficiently. This is done by Java with the help of the signature and
declaration of these entities.
For example:
//
Java program to demonstrate Polymorphism
//
This class will contain
//
3 methods with same name,
//
yet the program will
//
compile & run successfully
public
class Sum {
//
Overloaded sum().
//
This sum takes two int parameters
public
int sum(int x, int y)
{
return
(x + y);
}
//
Overloaded sum().
//
This sum takes three int parameters
public
int sum(int x, int y, int z)
{
return
(x + y + z);
}
//
Overloaded sum().
//
This sum takes two double parameters
public
double sum(double x, double y)
{
return
(x + y);
}
//
Driver code
public
static void main(String args[])
{
Sum
s = new Sum();
System.out.println(s.sum(10,
20));
System.out.println(s.sum(10,
20, 30));
System.out.println(s.sum(10.5,
20.5));
}
}
|
Output:
30
60
31.0
1.
Polymorphism
in Java are mainly of 2 types:
2. Inheritance: Inheritance is an important pillar of
OOP(Object Oriented Programming). It is the mechanism in java by which one
class is allow to inherit the features(fields and methods) of another class.
Important terminology:
·
Super Class: The class whose features are inherited is
known as superclass(or a base class or a parent class).
·
Sub Class: The class that inherits the other class
is known as subclass(or a derived class, extended class, or child class). The
subclass can add its own fields and methods in addition to the superclass
fields and methods.
·
Reusability: Inheritance supports the concept of
“reusability”, i.e. when we want to create a new class and there is already a
class that includes some of the code that we want, we can derive our new class
from the existing class. By doing this, we are reusing the fields and methods
of the existing class.
The keyword used for inheritance is extends.
Syntax:
class derived-class extends
base-class
{
//methods and fields
}
3. Encapsulation: Encapsulation
is defined as the wrapping up of data under a single unit. It is the mechanism
that binds together code and the data it manipulates. Another way to think
about encapsulation is, it is a protective shield that prevents the data from
being accessed by the code outside this shield.
·
Technically
in encapsulation, the variables or data of a class is hidden from any other
class and can be accessed only through any member function of own class in
which they are declared.
·
As
in encapsulation, the data in a class is hidden from other classes, so it is
also known as data-hiding.
·
Encapsulation
can be achieved by Declaring all the variables in the class as private and
writing public methods in the class to set and get the values of variables.
No comments:
Post a Comment