Skip to main content

Abstraction,Encapsulation And Inheritance

Abstraction is a one of the great feature of Oops,in this feature hide entire details of product, show only requirement specifications(what product will do).
The main purpose behind abstraction is to increase productivity or use of product without knowledge of product implementation.
in this case the person don't know how product  was implemented but know how product works or action of product.
In java abstraction is achieved by abstract class and interface,here interface provide 100% abstraction and abstract class provide partial abstraction.

For example:-ATM machine is example of abstraction.

 every technical and non-technical person use facility of ATM without knowing the entire process. they know if they click on withdraw button then they can withdraw money from ATM machine but they don't know when they click on withdraw button the request is send to the server and after go into database and so on.
Here ATM machine show only requirement specification and hide implementation,implementation provided by third party.      

when to use interface:- Interface is an example of 100% abstraction ,when the person don't know anything about  implementation then go through interface.      

when to use abstract class:-when the person know about implementation but not completely then go though abstract class.


Encapsulation is a process in which data and methods binding into a single unit,class is a example of encapsulation.
class contains both data and methods,methods operates on data of class.


Inheritance is a process of re-usability of code,using this features we can reduce redundancy of code.
in this feature a super class contains all common properties and sub class contains another additional properties and all common properties of super class can be used into subclass using inheritance .


In java Object is super class of all classes including inbuilt classes of java as well as user define classes .inheritance having some rules for accessing class members for security purpose like private members of super class can not inherited in any ways into sub classes.
Object class having some methods by default available to all java classes through inheritance.

Polymorphism means a single entity having multiple forms. polymorphism is directly related to object.
In object oriented programming a parent class reference variable can hold parent class object as well as  child class object.
In java polymorphism can achieved by two ways one is static polymorphism or early binding or compile time polymorphism and second is dynamic polymorphysm or late binding or run time polymorphism.

Method or function overloading is a example of static binding and method overriding is a example of dynamic binding.

Constructor is a special type of method having some special properties.



  • constructor having same name as class name.
  • constructor does not have any return type not even void.
  • constructor can not call ,it automatically invoke at the time of object creation.
  • constructor may be multiple type.
  • constructor may be public,private,protected and default. 


Comments

Popular posts from this blog

Inner classes

Inner Classes:- class inside class or interface called inner class or nested class. Advantage of inner classes is grouping multiple classes and interfaces into a single class. Another big advantage of inner class is that inner class can happily access all the data or variables of outer class directly. Types of Nested classes:- There are two types of nested classes static and non-static nested classes. (A)Non –static inner classes:- 1)     Member inner class 2)     Anonymous inner class 3)     Local inner class (B)Static nested class Example1:-Outer.java class Outer { class Inner { void disp() { System.out.println("Hello This is Inner class Method"); } } public static void main(String[]args) { Inner in=new Inner(); in.disp(); } } Output:- C:\JAVATECH>javac Outer.java Outer.java:12: error: non-static variable this cannot be referenced from a static context Inner in=new Inner(); ...

Small concept about OOPs

Some small concept about OOPs:- In many books and website write about OOPs concepts as hundred percent object oriented, pure object oriented and partial object oriented language. Hundred percent object oriented:- In the hundred percent object oriented movie hero is object, without object program is incomplete that means can not execute program without object. Without class and object programming or application development is not possible. Example of hundred percent object oriented language is  Smalltalk . Pure object oriented:- In the object oriented cinema obviously object is the hero. In pure object oriented language object having same importance but in this having some relax that is without creating object we can successfully execute our application. So in the object oriented programming without class we cannot create or run our application, class is must. Example of pure object oriented language is  Java . Partial object oriented:- In this type of la...

Inheritance-4

Example10:- class Student { Student() { System.out.println("This is super class Zero argument constructor"); } Student(String s) { System.out.println("This is super class One argument constructor"); } } class Test extends Student { Test() { super(null); System.out.println("This is sub class Zero argument constructor"); } public static void main(String[]args) { Test t=new Test(); } } Output:- C:\JAVATECH>javac Test.java C:\JAVATECH>java Test This is super class One argument constructor This is sub class Zero argument constructor Example11:- class Student { Student() { System.out.println("This is super class Zero argument constructor"); } Student(String s) { System.out.println("This is super class One argument constructor"); } } class Test extends Student { Test() { super(); super(null); System.out.println("This is su...