Java is an object-oriented
programming language. It is also a development environment, an application
environment and a deployment environment.
The basic principles of Java are:
·
Encapsulation
·
Inheritance
·
Polymorphism
1. Encapsulation:
The mechanism which wraps data and code
together into a single unit so that it can be protected from outside
interference. The access to the data and code that are encapsulated are
controlled through the well-defined interfaces.
The access specifiers present in Java are public, private and protected. They are used to specify
access to data and code in program.
The basis of
encapsulation in Java is class.
For example, encapsulation can be
thought as the protective bricks and cement barrier around a house. A person
can access the house only through the entrance or gate provided in the barrier.
All the unknown persons are not allowed to access the house.
More relevant example may be the automobile,
in which all the components of it are wrapped together to form less complex
single unit like car, bus, bike, etc.
2. Inheritance:
It is the process by which one
object inherits the properties of other object. In java almost everything is
considered as objects that are related to each other with specific relations.
How to know which object inherits the
other?
Inheritance works on IS-A principle.
Extends keyword is used to implement inheritance in Java.
Example showing how to use IS-A relation:
·
Cat
IS-A Omnivorous, principle holds good that means cat inherits omnivorous or cat
extends omnivorous.
·
Dog
IS-A Animal, principle holds good that means dog inherits animals or dog
extends animals.
·
Now
check for this, page IS-A book, no not here!! . Principle does not hold good
for this relation. So page can’t inherit book. It must be book HAS-A page.
When it comes to programming we may many classes in our
application and these classes may be related with each other in hierarchical
manner.
Considering example:
A and B be two classes
in our program and A extends B or A inherits B or A IS-A B.
3. Polymorphism:
It is the feature of java
which allows one interface to be used for multiple methods. It is often
referred with the phrase “one interface, multiple methods”.
For example, there might me
requirement in a program that three types of stacks are required. One stack to
store integer, one for float and one for double. The procedure used to
implement all the three stacks is one and the same i.e. using push and pop
methods. If you are using structural programming language then you have to
write three different stack routines. In case of Java you can write a general
set of stack routines that all can share. This is possible due to power feature
of Java, the polymorphism.
Let me show you some program
fragment which will be used in Java every time
Cat cat1=new Cat(); here Cat is a class, and cat1 is the reference
to the object Cat.
The
above instruction in Java creates a new cat object, this cat object can be used
with the help of reference, cat1. If you are a beginner in java you may feel it
complicated, but trust me when you go deep into java and are much interested to
learn you feel it very easy and fun programming with java.
Ok!
Lets’ come back to example, the object
cat which is created is of the same type as the reference (cat1) that is cat
type.
Let me create one more object of the type
animal,
Animal animal=new Animal();here Animal
is a class, and ani1 is the reference to the object Animal.
We know Cat inherits Animal class.
Animal
cat1=new Cat(); this is possible
with polymorphism.
With the polymorphism, the reference to the
object can be of different type.