ASK A QUESTION

    Abstract Class in Hindi

in Hindi - Abstract Class



Introduction for Abstract Class

C++ में जब Abstract Class होता था तब कोई abstract keyword का इस्तेमाल नहीं किया जाता था | लेकिनं जिस Class के अन्दर pure virtual function होता था तब वो class Abstract Class हो जाती थी |

Java में देखे तो virtual नाम का कोई keyword नहीं होता, लेकिन Abstract Class का इस्तेमाल Java में भी abstract keyword के साथ किया जाता है |


Abstract class को abstract keyword के साथ लिखा जाता है |

Syntax for Abstract Class

abstract class class_name();   //abstract class

Abstract Method

abstract return_type method_name();   //abstract method


Abstract Class का object; create नहीं किया जा सकता |

Source Code :
abstract class A{           //Abstract Class
	
	void disp(){
		System.out.println("class A");
	}	  
	public static void main(String args[]){
	
	A a = new A();   //Object for Abstract Class
	a.disp();
	}  
}
Output :
A.java:8: error: A is abstract; cannot be instantiated


abstract class का कोई object नहीं होता, लेकिन जो sub-class इसे inherit करता है | उससे abstract class के methods को access किया जा सकता है |

जब abstract class; create होता है तब उसे किसी abstract method की जरुरत नहीं होता | Source Code :

abstract class A{           //Abstract Class  
	void disp1(){
		System.out.println("class A");
	}
}  
class B extends A{  
	void disp2(){
		System.out.println("class B");
	}  
	public static void main(String args[]){  
	
	B b = new B();
	b.disp1();
	b.disp2();
	}  
}
Output :
class A
class B


Abstract Class का reference variable बनाया जा सकता है लेकिन उसका object नहीं बनाया जा सकता |

Source Code :
abstract class A{           //Abstract Class  
	void disp1(){
		System.out.println("class A");
	}
}  
class B extends A{  
	void disp2(){
		System.out.println("class B");
	}  
	public static void main(String args[]){  
	
	A a = new B();
	a.disp1();
	}  
}
Output :
class A


Abstract method के बारे में देखे तो हर abstract method का class; Abstract class ही होता है | वहा पर उस abstract method को सिर्फ declare करना पड़ता है |



abstract class A{           //Abstract Class  
	abstract void disp1();  //Abstract Method
	
}  
class B extends A{  
	void disp1(){
		System.out.println("class B");
	}  
	public static void main(String args[]){  
	
	A a = new B();
	a.disp1();
	}  
}
Output :
class B


Abstract classes using Multilevel Inheritance1

जब abstract super class के method की definition दी जाती तो super class का sub class भी abstract class हो जाता है |

For eg.

Program पर दिखाया गया है, कि class A ये एक abstract super class है और वहा पर disp1()नाम का abstract method भी लिया है और उसके class B(sub class) कोई disp1() नाम का implementation नहीं किया है , इसीलिए वो भी abstract class हो जाता है और बाद में class C पर disp1() इस abstract method की definition दी गयी है और बाद में class C का object बनाकर disp1() और disp2() को access किया गया है |

Source Code :
abstract class A{           //Abstract Class  
	abstract void disp1();  //Abstract Method
	
}  
abstract class B extends A{    //Abstract Class
	void disp2(){
		System.out.println("class B");
	}
}
class C extends B{
	void disp1(){
		System.out.println("class A");
	}
	public static void main(String args[]){  
	
	C c = new C();
	c.disp1();
	c.disp2();
	}  
}
Output :
class A
class B


Sub-class में भी abstract method हो सकती है |

Source Code :
abstract class A{           //Abstract Class  
	
	void disp1(){
		System.out.println("class A");
	}
}
abstract class B extends A{ //Abstract Class
	abstract void disp2();  //Abstract Method
}
class C extends B{
	void disp2(){
		System.out.println("class B");
	}
	public static void main(String args[]){
	
	C c = new C();
	c.disp1();
	c.disp2();
	}  
}
Output :
class A
class B


Abstract classes using Multilevel Inheritance2

एक abstract class में कितने भी abstract methods दिए जा सकते है | ये जरुरी नहीं है कि, हर abstract class के अन्दर abstract method हो |

Program पर class A इस abstract parent class में दो abstract methods दिए गए है | लेकिन उन दोनों abstract methods की definition उसे inherit किये गए sub-class पर की जाती है | उन दोनों abstract class का implementation करना जरुरी है |

Program पर Source Code ये है कि class A पर दो abstract methods दिए गए है और class B(sub-class) पर उसके सिर्फ एक ही abstract method का implementation किया गया है | इससे वो भी class abstract class हो जाती है |

Source Code :
abstract class A{           //Abstract Class  
	abstract void disp1();
	abstract void disp2();
	
}  
abstract class B extends A{    //Abstract Class
	void disp2(){
		System.out.println("class B");
	}
}
abstract class C extends B{   //Abstract Class
	void disp3(){
		System.out.println("class C"); //
	}
}
class D extends C{
	void disp1(){
		System.out.println("class D"); //
	}
	public static void main(String args[]){  
	
	D d = new D();
	d.disp1();
	d.disp2();
	d.disp3();
	}  
}
Output :
class D
class B
class C