sponsor

sponsor

Slider

Recent Tube

Business

Technology

Life & style

Games

Sports

Fashion

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

«
Next
Newer Post
»
Previous
Older Post

No comments:

Leave a Reply