Object Oriented Programming in Java

Object Oriented Programming in Java: Object Oriented Programming Concept को समझे बिना हम Java में किसी भी तरह का कोई Program नहीं बना सकते हैं। इतना Basic Concept इसलिए Clear किया गया है, ताकि OOPS व Class का Concept आसानी से Clear हो सके। Class Java का सबसे जरूरी Concept है। Object Oriented Programming का Concept समझे बिना हम कोई Serious Program नहीं बना सकते हैं ना ही इसे समझे बिना Java में आगे बढ सकते हैं।

इसलिए Class को समझना Java को समझने के लिए सबसे जरूरी है। Object Oriented Concept को Java के साथ Use करते हुए OOPS को समझाना काफी जटिल काम है। Object Oriented Technology का सार यही है कि Programmers अपने Program उसी प्रकार से Design करते हैं जिस तरह से Real World में किसी काम या समस्‍या को Design किया जाता है।

हम यहां पर पहले यही समझेंगे कि Object Oriented Design क्या होता है और किस प्रकार से किसी समस्‍या को Object Oriented Form में Design करके Computer पर उस समस्‍या का समाधान प्राप्त किया जाता है। Object Oriented Programming Concept का मुख्‍य आधार ObjectClass हैं।

Object Oriented Programming in Java: Class and Objects

OOPS का Modal इस तथ्‍य पर आधारित है कि दुनिया की हर वह वस्तु जिसे हम Physically देख सकते हैं, छू सकते हैं या Logically अनुभव कर सकते हैं, एक Real World Object है और हर Object कई अन्‍य छोटे Objects से बना होता है। साथ ही हर Object किसी ना किसी Class का एक उदाहरण (Instance) या सदस्; होता है। यदि एक उदाहरण देखें तो Computer एक Object है। लेकिन ये Computer स्वयं कई अन्‍य छोटे Objects जैसे कि Motherboard, Processor, RAM, Hard Disk, Floppy Drive, Cabinet, SMPS, Monitor, Keyboard, Mouse आदि से मिलकर बना होता है।

हम Real World में भी देखते हैं कि कई Objects के Features समान होते हैं। जैसे कि जितने भी Computers होते हैं, उन सभी में Motherboard होता है, Processor होता है, Hard Disk होती है, RAM होती है, CD ROM होता है, आदि। यानी हर Computer के Basic Features या आधारभूत अवयव समान होते हैं। इन सभी Objects के चारिि=क गुणों या Characteristics में समरूपता है।

Class एक ऐसा Modal या Design या Description होता है, जिसके आधार पर समान Characteristics वाले कई Object Create किए जा सकते हैं। यानी यदि दूसरे शब्दों में कहें तो Class एक ऐसा Modal, Design या Description होता है, जो किसी एक अमुक (Particular) समूह के Objects (Entity Set) की विशेषताओं (Characteristics) या Features को Represent करता है।

जब हम किसी Object Oriented Programming Language में Program लिखते हैं, तो Programming के समय हम किसी Object को Define नहीं करते हैं, बल्कि हम उस Object की विशेषताओं का एक Modal बना लेते हैं, जिसे Class कहते हैं और उस Modal (Class) के आधार पर आवश्‍यकतानुसार कई Objects Create कर लेते हैं। इसे एक उदाहरण द्वारा समझने की कोशिश करते हैं।

मानलो कि यदि आपसे कहा जाए कि एक Car की परिभाषा दीजि,। परिभाषा के रूप में आप क्या कहेंगे। आप Car की ऐसी विशेषताओं (Characteristics) का वर्णन (Description) करेंगे जो उसे दुनिया की दूसरी चीजों (Objects) से अलग बनाती है।

आप कह सकते हैं कि Car एक ऐसी चीज होती है जिसके चार Wheels होते हैं। उसमें बैठने के लिए कुछ सीटें होती हैं। Car में एक Engine होता है। ये Engine Diesel से चलता है। इसमें गति को प्रभावित करने के लिए एक Accelerator और एक Gear Box होता है। इसी तरह से कई और विशेषताएं बताई जा सकती हैं, जिनसे एक Car की पहचान हो सकती है। आपने एक Car की जो परिभाषा बताई है, क्या वह परिभाषा कार है। नहीं! ये परिभाषा कार नहीं है बल्कि ये परिभाषा तो Car का एक विवरण या Description मा= है।

मानलो कि आपको किसी Automobile Company से ये Offer आता है कि आप जिस तरह की Car चाहते हैं, Company उस तरह की Car बनाने के लिए तैयार है। आप जिस तरह की चाहेंगे, उस तरह की Car बन जाएगी। अब आपको Company को बताना है कि आपको किस तरह की Car पसन्द है।

सीधी सी बात है कि Company के Engineers आपकी कल्पनाओं वाली Logical Car को तभी साकार रूप की Physical Car में बदल सकते हैं, जब आप किसी तरीके से उन Engineers को अपनी उस सपनों वाली Logical कार का विवरण दे पाऐं। मानलो कि आप अपनी Car में निम्न विशेषताएं (Characteristics) या Features चाहते हैं:

  • आपकी कार पर Yellow, Blue व White ये तीन Color होने चाहिएं।
  • Car हल्की होनी चाहिए।
  • Car में केवल दो सीटें ही होनी चाहिए।
  • Car में सामान्‍य कारों की तुलना में एक Extra Gear होना चाहि, ताकि जरूरत पडने पर उस Gear के प्रयोग से Car जमीन से ऊपर भी उड सके।
  • Car का Engine Latest Quality का व सबसे Highest Power का होना चाहिए।
  • कार ऐसी होनी चाहि, की आपको पहचान सके।
  • जब भी आप Car के पास जाएं Car आपके लिए दरवाजा खोल दे।
  • जब भी आप अपने गन्तव्‍य स्थान पर पहुंचे, Car के रूकते ही दरवाजा खुल जाना चाहिए।

वगेरह, वगेरह। कल्पनाओं की कमी नहीं होती है, इसलिए ऐसी हजारों खूबियों वाली Car की आप कल्पना कर सकते हैं।

ये तो आपने अपनी सपनों वाली Logical Car का Description दे दिया। लेकिन कई स्थानों पर ऐसी जरूरत भी पड सकती है जब आप अपनी बात को केवल Description से नहीं समझा सकते। उस स्थिति में आप क्या करेंगे। आप मानें या ना माने, आप पेन और कागज उठाएंगे और स्वयं अपनी Car का एक पूर्ण सन्तुष्टिदायक Modal या Design बनाएंगे।

क्या ये Modal आपकी Car है?
क्या आप इस Modal को चला सकते हैं?

नहीं! ये वास्तविक कार नहीं है बल्कि एक Logical Car या Car का Modal मात्र है। लेकिन ये Modal फालतू नहीं है बल्कि ये Modal ही सबसे महत्वपूर्ण चीज है। एक बार इस Modal के बन जाने के बाद Company के Engineers आपकी Logical Car को एक Physical Car में बदल सकते हैं और आपके सपनों वाली Car को एक Physical Modal का रूप दे सकते हैं।

मानलो कि Company के Engineers ने आपकी Car बना दी और वह Car बिल्कुल वैसी ही है जैसी आप चाहते थे। अब यदि Company बिल्कुल उसी तरह की एक और Car बनाना चाहे, तो क्या Company को शुरू से वापस सारा काम करना पडेगा। क्या उसे दुबारा आपसे Modal बनवाना पडेगा। नहीं! Modal केवल एक ही बार बनता है, लेकिन उस Modal के आधार पर हजारों कारें बन सकती हैं और जिस Modal के आधार पर हजारों Cars बन रही हैं, हम समझ सकते हैं कि जब तक Modal Change नहीं किया जाएगा, तब तक बनने वाली सभी कारों की सभी खूबियां एक समान होंगी। किसी भी Car के किसी भी Feature या Characteristic में किसी प्रकार का कोई अन्तर नहीं होगा।

जो Logical Modal आपने बनाया है, वह Object Oriented Programming Language में एक Class को Represent करता है और उस Modal के आधार पर Company के Engineers ने जो Physical Car बनाई है, वह Car एक Physical Object को Represent करता है। ये Physical Car आपके द्वारा बनाए गए Modal (Class) का एक उदाहरण (Instance) मा= है, क्योंकि यदि Company चाहे तो उसी Modal के आधार पर कई अन्‍य Cars बना सकती है।

जिस तरह से एक Modal के आधार पर यदि Company चाहे तो हजारों कारें बना सकती है, उसी तरह से एक Object Oriented Programming Language में एक बार एक Class Design कर लेने के बाद एक Programmer उस Class के जितने चाहे उतने Instance Create कर सकता है।

Java में Class Create करने के लिए class Keyword का प्रयोग करना पडता है। वास्तव में Class एक नए प्रकार का User Defined Data Type होता है। ये एक ऐसा Data Type होता है, जिसे Programmer Real World के Physical Objects को Computer Software या Program के Logical World के Object के रूप में Represent करता है।

हम एक और उदाहरण लेते हैं। पिछले उदाहरण में हमने एक Modal के आधार पर Object बनाया था। इस उदाहरण में हम एक Object के आधार पर Class बना रहे हैं। एक Object के आधार पर उस Object की Class बनाने के बाद, उस Class के आधार पर हम जितने चाहें उतने Objects बना सकते हैं, क्योंकि एक Object के Description के वि”लेषण से हमें Car का Modal (Class) मिल जाएगा।

मानलो कि हमें एक Physical Car को Computer में एक Logical Car के रूप में Represent करना है। अब Physical कार की ऐसी क्या विशेषताएं हैं जो उसे किसी दूसरे Real World Object से अलग बनाती हैं। उन Characteristics को निम्नानुसार लिखा जा सकता है। यानी

  • एक Physical Car का कोई एक नाम होता है।
  • एक Physical Car का कोई ना कोई Modal Number होता है।
  • एक Physical Car के Engine का एक Unique Serial Number होता है।
  • एक Physical Car के Chassis का एक Unique Serial Number होता है।
  • एक Physical Car किसी ना किसी ईंधन से चलती है।
  • एक Physical Car का कोई Color होता है।
  • एक Physical Car की कोई Size होती है।
  • एक Physical Car में कुछ Seats होती हैं।
  • एक Physical Car में कुछ Gear होते हैं।
  • एक Physical Car का Pickup Rate होता है।
  • एक Physical Car किसी ना किसी अधिकतम Speed पर दौड सकती है।
  • एक Physical Car में चार Wheels होते हैं।

इसी तरह से हम कुछ और विशेषताएं भी बता सकते हैं, जो किसी Car को परिभाषित करती हैं। किसी एक Car के आधार पर हम Car की इतनी विशेषताएं प्राप्त कर सकते हैं। इन सभी Descriptions को निम्नानुसार भी लिखा जा सकता है:

Description of the Car
(Class)
	nameOfCar
	modalNumberOfCar
	serialNumberOfEngine
	serialNumberOfChassis
	fuelOfCar
	colorOfCar
	sizeOfCar
	noOfSeatsInCar
	noOfGearsInCar
	pickupRateOfCar
	maximumSpeedOfCar
	noOfWheelsInCar

यदि हम चाहें तो इन Features में निम्नानुसार विभिन्न प्रकार के मान भी Fill कर सकते हैं:

Description of the Maruti800 Car
(Class)
	nameOfCar = Maruti800
	modalNumberOfCar = March1999
	serialNumberOfEngine = 12325465
	serialNumberOfChassis = 65457898
	fuelOfCar = Diesel
	colorOfCar = Yellow
	sizeOfCar = 4.5ft
	noOfSeatsInCar = 6
	noOfGearsInCar = 5
	pickupRateOfCar = 60KMPH After 4 Seconds
	maximumSpeedOfCar = 140KMPH
	noOfWheelsInCar = 4

यदि हम थोडा ध्‍यान दें तो समझ सकते हैं, कि ये कुछ ऐसी Common विशेषताएं या कुछ ऐसे Common Features (Characteristics) हैं, जो लगभग सभी प्रकार की कारों के Features को Represent कर सकते हैं।

उदाहरण के लिए हमने ऊपर Maruti800 के विभिन्न Features के मानों को देखा। अब निम्नानुसार Features के मानों में परिवर्तन करने पर हम इन्ही Features के आधार पर Tata Indica या Tata Sumo को भी Computer में Logically Represent कर सकते हैं। यानी

Description of the Tata Indica Car
(Class)
	nameOfCar = TataIndica
	modalNumberOfCar = Feb2000
	serialNumberOfEnginea = 25465454
	serialNumberOfChassis = 98787898
	fuelOfCar = Diesel
	colorOfCar = Silver
	sizeOfCar = 4.25ft
	noOfSeatsInCar = 5
	noOfGearsInCar = 5
	pickupRateOfCar = 80KMPH After 4 Seconds
	maximumSpeedOfCar = 160KMPH
	noOfWheelsInCar = 4

हम देख सकते हैं कि Car के केवल एक Physical Modal के आधार पर हमने Computer में एक Logical Modal बनाया और उस Logical Modal की Description के आधार पर हम जितनी चाहें उतनी कारों को Logically Computer में Represent कर सकते हैं। इस Description को ही Class कहते हैं।

इस Car Class के आधार पर हम जितनी भी कारों को Computer में Logically Represent करेंगे, वे सभी कारें इसी Car Class के उदाहरण (Instance) या Objects होंगे, क्योंकि उन सभी कारों के Basic Features एक समान होंगे केवल उन Features के मानों में ही अन्तर होगा।

हमने ये Description किसी एक Car के आधार पर Develop किया था, लेकिन ये Description अन्‍य सभी कारों को भी समान प्रकार से Represent कर सकता है। Computer में भी यही किया जाता है। किसी समस्‍या के सबसे मूल Object का पता लगाया जाता है। फिर उस मूल Object के आधार पर समस्‍या से सम्बंधित जरूरी Features को लेकर एक Description तैयार किया जाता है।

इस Description के आधार पर एक Modal बनाया जाता है और उस Modal के आधार पर हम उस Class के जितने चाहें उतने Logical Objects Create कर सकते हैं और उसी तरह से उन्हें Represent कर सकते हैं जिस तरह से Real World Objects को Represent करते हैं।

यदि आपसे कहा जाए कि पांच कारों के उदाहरण दो तो आप Tata Sumo, Tata Indica, Maruti Zen, Maruti 1000, व Maruti 800 के उदाहरण दे सकते हैं। क्या इन सभी प्रकार की कारों को उपरोक्त Description के आधार पर Represent नहीं किया जा सकता है। निश्चित रूप से किया जा सकता है, क्योंकि ये सभी Objects समान Class के उदाहरण हैं। ये सभी एक Car Class के Instances या Objects हैं और इनके Basic Features समान हैं।

यदि यहां हम वापस से Class की परिभाषा को दोहराएं तो कह सकते हैं कि एक Class समान Featurs वाले Objects के एक समूह (Entity Set with Similar Features) का Logical या Abstract Representation होता है, जबकि उस Class का कोई Instance (उदाहरण) उस Class का Actual Representation या Physical Representation होता है जिसे Object कहते हैं। सामान्‍यतया जावा की हर Class दो मुख्‍य Components AttributesBehaviors से बनी होती है, जिनके विषय में हम आगे विस्‍तार से जानेंगे।

Java Programming Language in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Java Programming Language in Hindi | Page: 682 | Format: PDF

BUY NOW GET DEMO REVIEWS