Search This Blog

Friday, November 25, 2011

Java Class Inheritance

जावा में साधारणतः ऑब्जेक्ट को क्लास के द्वारा define किया जाता है । इतना ही नहीं कही बार सिर्फ क्लास का नाम सुनकर ही आपको ऑब्जेक्ट के बारे में कही जानकारी स्वत मिल जाती है | जैसे में आपको कहू की यहाँ हम हीरो ट्रेक्स की बात कर रहे है , तो आपको कुछ अटपटा सा लगेगा पर जैसे ही में आपको कहूँगा की यह साइकिल क्लास का ऑब्जेक्ट है , आप कही बातो का अंदाज़ा स्वयं ही लगा लेंगे जैसे इसके दो tyre होंगे | इसमें pedal होंगे , रफ़्तार होगी और भी कही चीज़े |

ऑब्जेक्ट oriented भाषाओ ने एक कदम आगे बढकर क्लासो को आपस में एक दुसरे को define करने का अधिकार दे दिया है | जैसे उधाहरण के लिए , पहारी साइकिल , गेअर वाली साइकिल या रेस वाली साइकिल यह सभी साइकिल क्लास की सब क्लास है | इनमे सब बाते साइकिल क्लास की होगी कुछ अलग खासियतो के साथ जो इन सब क्लासो में लिखी जायेगी | तो इसी प्रकार साइकिल इन क्लासो की सुपर क्लास कहलाएगी |

 भिन्न भिन्न प्रकार के ओब्जेक्ट्स में भी बहुत बार कहीं समानताये होती है | जैसे हम कार का उदाहरण ले सकते है | SUV , छोटी कर , luxury कार या इलेक्ट्रिक कार सभी में कार के विशिष्ट गुण( रफ़्तार ,गेएर्स, मोटर ) होते है फिर भी कुछ दूसरी विशेषताए इन्हें सामान्य से अलग बनाती है | जैसे SUV कार को हम खेल में काम आने वाली कार (Sport Utitility Vehicle) मानते है जिसका बाकी कारो से मजबूत ढाचा है और साथ ही साथ बहुत ताकतवर engine है ।

ऑब्जेक्ट oriented प्रोग्रामिंग(जैसे जावा) हमें यह सुविधा देती है की हम किसी क्लास के  सामान्य गुणों को किसी दूसरी क्लास में इन्हेरिट (प्राप्त) कर सकते है |

जावा में क्लास को इन्हेरिट करने के syntax :

class Suv extends Cars  {

     // नए method जो SUV को बाकि क्लास से अलग बनाते है यहाँ लिखे जायेंगे

}

यह हमे यह सुविधा देगा की हम कार्स क्लास की सभी fields और methods का उपयोग कर सकते है ,और साथ ही साथ SUV की विशेषताए या जो चीज़े उसे अलग बनाती है उसे भी यहाँ डाल सकते है |

हमे  inheritance की आवश्यकता क्यों पड़ी ?

Inheritance को use करने के दो फायदे है :

१. सब क्लास कुछ खास व्यहवार को define कर पाती है जो मुलत: सुपर क्लास के ही सिधान्तो पर आधारित होता है या उसको विस्तार होता है ,जैसे गेअर वाली साइकिल होती तो साइकिल ही है पर उसमे गेअर होते है  | Inheritance की सहायता से प्रोग्रामर सुपर क्लास के कोड को कही बार use कर पाता है  |

२. प्रोग्रम्मेर्स सुपर क्लास को इम्प्लेमेंट कर पाते है , इन्हें हम Abstract क्लास भी कहते है | सुपर क्लास कुछ खास बाते तो अपने में समेटे होती है पर अपने आप में वो अधूरी ही होती है | दूसरे प्रोग्रामर इस क्लास को सब क्लास में इन्हेरिट करके इसको एक सम्पूर्ण एवं कुछ खास काम करने वाली क्लास बना सकते है |


No comments:

Post a Comment