Search This Blog

Friday, May 4, 2012

Why we need classes?

आप में से बहुत लोग जरूर यह सोचते होंगे की हमे आखिर क्लास की आवश्यकता क्यों पड़ी ?
जावा एक ऑब्जेक्ट ओरिएंटेड भाषा है।  हर जावा प्रोग्राम में कम से कम एक क्लास तो होती ही है।  जब पहली बार प्रोग्रामिंग भाषाओ में वस्तुओं (objects ) के प्रयोग के बारे में सोचा गया, तब इन ऑब्जेक्ट की प्रॉपर्टीज को संग्रहित करने के लिए जगह की आवश्यता पड़ी । इसी जगह को हम क्लास कहते है।

ऑब्जेक्ट हमे प्रतिरूपकता एवं जानकारी छुपाने की सुविधा प्रधान करता है | क्लास हमे किसी भी कोड को बार बार उपयोग में लाने में मदद करती है | जैसे साइकिल बनाने वाली कंपनी एक ही ब्लुप्रिंट से कही साइकिल बना लेती है उसी प्रकार क्लास की सहायता से प्रोग्रामर एक ही क्लास का बार बार प्रयोग करके कही नए ऑब्जेक्ट बना सकता है |

बिना क्लास के ऑब्जेक्ट oriented प्रोग्रामिंग  की कल्पना करना भी नामुमकिन है । क्लास के कही फायदे है जैसे Abstraction ,Inheritance और Polymorphism , इन सभी में इन्हेरिटेनस के बारे में हम पहले बात कर चुके है , Abstraction or Polymorphism के बारे में जल्द ही बात करेंगे  ।

क्लास एक प्रकार की केटेगरी होती है।  जैसे सारे  कस्टमर्स की एक केटेगरी , या सरे सामानो की एक केटेगरी।  
क्लास कितनी महत्वपूर्ण है , इस बात को हम एक उदहारण के द्वारा समझेंगे । मान लीजिये हमे कुछ कारो के बारे में जानकारी संगृहीत करनी है । अब बिना क्लास के हम इसको एक अर्रे (array) ya Hash में संगृहीत कर सकते है ।

जैसे पहली कार का नाम होंडा सिटी है और उसका mileage 14 km / लीटर है : 
 car[1] = "होंडा सिटी" , car[2] ="14" या car[name] = "होंडा सिटी" , car[mileage] ="14" |

दूसरी कार का नाम मारुती अल्टो है और उसका mileage 21 km / लीटर है : 
car1[2] = "मारुती अल्टो", car1[2] = "21" या car1[name] = "मारुती अल्टो", car1[mileage] ="21" |

तीसरी कार का नाम  स्कोडा लौरा है और उसका mileage 13 km / लीटर है: 
car2[2] = "स्कोडा लौरा", car2[2] = "13" या car2[name] = "स्कोडा Laura", car2[mileage] ="13"|

अगर ऊपर दिए गए कोड की क्लास कार  होती तो हम उसे इस प्रकार लिखते :

Car car1 = new Car; 
इस कार1  ऑब्जेक्ट के द्वारा हम कार की सभी प्रॉपर्टीज (जैसे इसमें कोई फंक्शन हो, वेरिएबल हो ) को एक्सेस कर सकते है।  सबसे अच्छा यह है, की हम चाहे जितने ऑब्जेक्ट्स बना सकते है।  अगर आपको क्लास को समझने में कोई परेशानी हो रही हो, तो भी कोई चिंता का विषय नहीं है,  आप जैसे जैसे जावा में प्रोग्रामिंग करते जाएंगे आपको क्लास स्वत: ही समझ आ जाएगी।

इसी प्रकार मान लीजिये की हमारे पास 100 कारो का डाटा है । और उन सभी को हमने ऊपर दिए गए तरीके से संगृहीत कर लिया । अब आपको स्कोडा लौरा के mileage के बारे में पूछ लिया जाए या उसका प्रयोग आपको प्रोग्राम में करना पड़े, तो आप पाएंगे की 100 कारो के डाटा में से यह पता लगाना के लौरा कार  car2 अर्रे में है बहुत मुश्किल है । और यह मुश्किल और बढ़ जाती है जब हम हज़ारो कारो की बात करते है ।

क्लास किसी भी complicated (जैसे ऊपर दिया गया उदहारण) डाटा structure के किसी भी तरह के कंटेंट को  बनाने में हमे मदद करती है ।जैसे ऊपर दिए उदहारण में हम कार नाम की क्लास बनायेंगे जो कार का नाम और उसका माइलेज उन्ही के नाम वाले बहूत उपयोगी attribute जैसे name and mileage में स्टोर कर पायेगी ।

No comments:

Post a Comment