May 17, 2009

OOPS concept of JAVA



Abstraction:  Showing the essential and hiding the non-Essential is known as Abstraction.

Encapsulation: The Wrapping up of data and functions into a single unit is known as Encapsulation.
     Encapsulation is the term given to the process of hiding the implementation details of the object. Once an object is encapsulated, its implementation details are not immediately accessible any more. Instead they are packaged and are only indirectly accessed via the interface of the object.

Inheritance: is the Process by which the Obj of one class acquires the properties of Obj’s another Class.
 A reference variable of a Super Class  can be assign to any Sub class derived from the Super class.
         Inheritance is the method of creating the new class based on already existing class , the new class derived is called Sub class which has all the features of existing class and its own, i.e sub class.
Adv: Reusability of code , accessibility of variables and methods of the Base class by the Derived class.

Polymorphism: The ability to take more that one form, it supports Method Overloading &  Method Overriding.

Method overloading: When a method in a class having the same method name with different arguments (diff Parameters or Signatures) is said to be Method Overloading. This is Compile time Polymorphism.
Using one identifier to refer to multiple items in the same scope.

Method Overriding: When a method in a Class having same method name with same arguments is said to be Method overriding. This is Run time Polymorphism.
Providing a different implementation of a method in a subclass of the class that originally defined the method.
 1.  In Over loading there is a relationship between the methods available in the same class ,where as in Over riding there is relationship between the Super class method and Sub class method.
 2.  Overloading  does not block the Inheritance from the Super class , Where as in Overriding blocks Inheritance from the Super Class.
 3.  In Overloading separate methods share the same name, where as in Overriding Sub class method replaces the Super Class.
4. Overloading  must have different method Signatures , Where as Overriding methods must have same Signatures.