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(); ...

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...

Regarding class files

Class files:- Regarding class file or dot class file also known as byte code of class, in a java programming language we can use any number of classes in our program. After compilation all classes convert into individual   .class   file. Example:- class A { } class B { } class C { } class Student { public static void main(String[]args) { System.out.println("Well-come to my java blog"); } } We can save above program to any   classname.java   or we can use any other   name.java,   there is no compulsion for java file name. But recommended to save by that class name which having main method. I saved the above file to   Student.java   name .   Before compilation my   C:\JAVATECH   folder contain only one java file. Student.java For  compilation. C:\JAVATECH>javac  Student.java After compilation   my   C:\JAVATECH   folder contains five files, on...