CodeGym /Java Blog /अनियमित /पुराना स्तर 05
John Squirrels
स्तर 41
San Francisco

पुराना स्तर 05

अनियमित ग्रुप में प्रकाशित

क्या मैं एक सॉफ्टवेयर डेवलपर बन सकता हूँ?

पुराना स्तर 05 - 1समुद्री सिद्धांत कहता है: यदि आप शारीरिक रूप से उपयुक्त पुरुष या महिला पाते हैं, तो आप उन्हें एक अद्वितीय सेनानी बना सकते हैं, बशर्ते उन्हें सही प्रशिक्षण और शिक्षा दी जाए। प्रोग्रामिंग गिटार बजाने, तैरने या बाइक चलाने जैसा ही कौशल है। लोग बाइकर पैदा नहीं होते हैं। जब मैं अपने दोस्तों को देखता हूं, जो मुझसे दोगुनी मेहनत करते हैं और उन्हें चार गुना कम पैसा मिलता है, तो मैं निम्नलिखित बातचीत शुरू करता हूं: — क्या आप एक प्रोग्रामर के रूप में काम करना चाहेंगे? तुम सच में होशियार हो। शायद, आप बस अपनी जगह पर नहीं हैं?

सॉफ्टवेयर विकास क्यों?

किसी व्यक्ति को प्रोग्रामिंग सिखाना शुरू करने से पहले, हमें यह पता लगाना चाहिए कि यह उसे क्या देता है।

1 सरल और दिलचस्प काम।

सॉफ्टवेयर इंजीनियर एक सरल और दिलचस्प काम है। इसमें रचनात्मकता के लिए बहुत जगह है। मुझे इससे प्यार है। पहले तो मैं इस विचार से पागल हो गया कि मैं वह करता हूं जो मुझे पसंद है और इसके लिए मुझे भुगतान मिलता है। लेकिन बाद में मुझे इसकी आदत हो गई।

2 यह अच्छी तरह से भुगतान किया गया है।

मैं अपने दोस्तों को 5 साल के काम में खुद कार और घर खरीदते हुए देखने का आनंद लेता हूं।

3 लचीले घंटे।

एक सख्त वर्क शेड्यूल एक बुरी चीज है। कोई भी व्यक्ति जो व्यस्त समय के दौरान ट्रैफिक जाम में रहा हो या 5 मिनट देर से आने के लिए जुर्माना लगाया गया हो, इसकी पुष्टि कर सकता है। और सुबह 11 बजे काम पर आने और शाम 5 बजे निकलने में सक्षम होने के बारे में क्या? अधिकांश प्रोग्रामर के लिए यह एक सामान्य कार्यक्रम है। बस अपना काम करो और कोई क्रॉस वर्ड नहीं कहेगा। आप अधिकांश कंपनियों में घर का काम भी कर सकते हैं। आप हमेशा अपने नियोक्ता के साथ उचित समझौता कर सकते हैं।

4 व्यावसायिक विकास।

ज्यादातर कंपनियों में अच्छा भुगतान पाने के लिए आपको करियर की सीढ़ी पर चढ़ने की जरूरत होती है। एक सॉफ्टवेयर डेवलपर को केवल एक सॉफ्टवेयर डेवलपर होना चाहिए। आपको एक डेवलपर से प्रबंधक के लिए फिर से योग्यता प्राप्त करने या अग्रणी स्थिति लेने का प्रयास नहीं करना पड़ेगा। आपको केवल पेशेवर रूप से बढ़ने की जरूरत है। जिन डेवलपर्स के पास 5 से 10 साल का अनुभव है, उन्हें रॉयली का भुगतान किया जाता है।

5 उच्च अंतरराष्ट्रीय गतिशीलता।

दुनिया में तीन सबसे अधिक भुगतान वाले पेशे हैं: एक वकील, एक डॉक्टर और एक सॉफ्टवेयर डेवलपर। विदेशों में काम कर रहे वकीलों के लिए यह एक वास्तविक चुनौती है: विभिन्न कानून, केस-कानून आदि। एक डॉक्टर को भाषा, अन्य चिकित्सा मानकों को सीखना होता है और परीक्षा उत्तीर्ण करनी होती है। एक डेवलपर को कुछ अतिरिक्त नहीं सीखना होगा। वही भाषा। समान मानक। ज्यादातर बार ग्राहक भी वही होते हैं।

जावा क्यों?

कुल तीन निम्नलिखित कारकों ने मुझे जावा डेवलपर्स के लिए लोगों को फिर से प्रशिक्षित करने के लिए प्रेरित किया।

1. जावा — सीखने के लिए सबसे आसान भाषा में से एक है।

एक व्यक्ति जिसने अभी-अभी स्कूल समाप्त किया है, वह इसे 3 से 6 महीने में सीखने में सक्षम है, यह आधार ज्ञान और अध्ययन में लगाए गए घंटों की मात्रा पर निर्भर करता है।

2. श्रम बाजार में उच्च मांग।

आप बिना पूर्व अनुभव के नौकरी पा सकते हैं। कंपनियां इंटर्न को उत्सुकता से नियुक्त करती हैं और उन्हें शिक्षित करती रहती हैं।

3. फील्ड में सबसे ज्यादा सैलरी।

उच्चतम में से एक। यह जूनियर डेवलपर्स के लिए विशेष रूप से महत्वपूर्ण है।  

प्रोग्रामिंग एक कौशल है

पुराना स्तर 05 - 2आप किताब पढ़कर कंप्यूटर प्रोग्रामर नहीं बन सकते। आपको कम से कम 500 घंटे अभ्यास की आवश्यकता है। बिल्कुल बॉक्सिंग की तरह। आप केवल मैच देखकर पेशेवर नहीं बन सकते। आपको वर्षों तक प्रशिक्षित करने की आवश्यकता है। (यही कारण है कि CodeGym के पास इतने व्यावहारिक कार्य हैं)। आपको 10 घंटे में प्रोग्राम करना सिखाने के सभी प्रस्ताव आपको 10 घंटे में बॉक्सिंग सिखाने के प्रस्ताव के समान हैं। और फिर आपको बॉक्सिंग रिंग में फेंक देंगे! ऐसा मत करो। कभी-कभी जब कोई नौसिखिया मंचों पर पूछता है कि सॉफ्टवेयर डेवलपर कैसे बनें, तो उसे अपने लिए कार्यों का आविष्कार करने और उन्हें करने के लिए कहा जाता है। वह काम नहीं करेगा।बात यह है कि मनुष्य अपने ज्ञान से परे कोई कार्य नहीं कर सकता। आप या तो कुछ जानते हैं, या आप नहीं जानते हैं। केवल एक व्यक्ति जो विषय पर अच्छी तरह से वाकिफ है, वह आपके लिए एक अनुक्रमिक कार्य निर्धारित करने में सक्षम है, जिनमें से प्रत्येक आपको नई चीजें सिखाएगा और हल करने में सप्ताह नहीं लगेगा। CodeGym में मैंने यही किया।

नई नवीन शिक्षण पद्धति

CodeGym शिक्षा को कॉलेज शिक्षा से अलग तरीके से बनाया गया है। आप इसे बहुत जल्द नोटिस करेंगे। यह कहीं अधिक प्रभावी है। कॉलेज में आपकी पढ़ाई शायद इस तरह होती थी: लंबे व्याख्यान और आपने जो सीखा है उसे ठीक करने का अभ्यास। इस दृष्टिकोण का पालन करने से आप अपने ज्ञान में सुधार करते हैं, कौशल में नहीं। ईमानदारी से कहूं तो, इस तरह से हासिल किए गए आपके कौशल का व्यावहारिक रूप से कोई मूल्य नहीं है। मेरे पास एक और तरीका है। मेरा मानना ​​है कि इंसान को पहले सवाल पूछना चाहिए और उसके बाद ही उन पर जवाब पाना चाहिए। प्रश्न के पहले उत्तर का कोई मूल्य नहीं है। मेरे व्याख्यान आपके प्रश्नों के उत्तर हैं। इसलिए सबसे पहले मैं आपको ऐसे व्यावहारिक कार्य देता हूँ जिन्हें आपके वर्तमान ज्ञान से हल करना कठिन है। ये कार्य प्रश्न उठाते हैं और फिर आपको मेरे उत्तर मिलते हैं जो ज्ञान और व्याख्यान हैं। मैं आपको तीन चरणों में नया ज्ञान प्रस्तुत करता हूं:
  1. परिचय (न्यूनतम सिद्धांत और कुछ व्यावहारिक कार्य)

  2. प्रिंसिपल ब्लॉक नॉलेज (आपको विषय को पूरी तरह से समझना चाहिए)

  3. विवरण और बारीकियां (मैं यहां अंतराल भरता हूं)

इस तरह आप एक ही विषय पर कम से कम तीन बार आएंगे। और यह उल्लेख करने लायक भी नहीं है कि सब कुछ बहुत हद तक परस्पर जुड़ा हुआ है और कम से कम आंशिक रूप से पहले वाले को समझाए बिना किसी एक विषय को पूरी तरह से समझाना असंभव है। कुछ छात्रों ने यह कहते हुए नाराजगी भी जताई कि कुछ कार्य बहुत कठिन हैं, उन्होंने अभी तक इसका अध्ययन नहीं किया है। ऐसे कार्य विचार के लिए एक विराम प्रस्तुत करते हैं: आप अपने वर्तमान स्तर के ज्ञान का उपयोग करके उन्हें कैसे हल करते हैं? आप इन कार्यों को हल करने में एक या दो घंटे खर्च कर सकते हैं, लेकिन बाद में आप एक नया मूल दृष्टिकोण या सुरुचिपूर्ण समाधान पाकर बहुत खुश होंगे। वास्तव में, वास्तविक जीवन में आपको सबसे पहले कार्यस्थल पर एक कार्य दिया जाएगा, और उसके बाद ही आपको उसे हल करने का ज्ञान मिलेगा। यही वास्तविक जीवन है, बच्चों। इस प्रकार, जितनी जल्दी आप इस तरह के दृष्टिकोण के लिए अभ्यस्त हो जाएं, उतना ही बेहतर होगा।

स्तर 5

पुराना स्तर 05 - 3

1 ऐली कक्षाओं के बारे में बात करती है

- अरे, अमीगो! - हाय, एली! - आज मैं आपको समझाना चाहता हूं कि कक्षाएं क्या हैं। - स्पष्टीकरण # 1। मैं एक सादृश्य के साथ शुरू करूँगा। हमारे ब्रह्मांड में सभी चीजें परमाणुओं से बनी हैं। वे विभिन्न प्रकार के हो सकते हैं: हाइड्रोजन, ऑक्सीजन, लोहा, यूरेनियम, ... परमाणुओं का संयोजन विभिन्न चीजों या वस्तुओं को बनाने में सक्षम बनाता है। - जावा के ब्रह्मांड के लिए भी यही सच है। यहां कार्यक्रमों में विभिन्न प्रकार की वस्तुएं होती हैं (जहां वर्ग एक प्रकार है): पूर्णांक, स्ट्रिंग, फ़ाइल, ऑब्जेक्ट, … वस्तुओं का संयोजन विभिन्न वेब-सेवाओं या कार्यक्रमों को बनाने में सक्षम बनाता है। - अलग-अलग परमाणुओं की आंतरिक संरचना अलग-अलग होती है। इनमें बड़ी संख्या में इलेक्ट्रॉन, प्रोटॉन और न्यूट्रॉन होते हैं। - विभिन्न वर्गों (जावा में वस्तु प्रकार) की अलग-अलग आंतरिक संरचना भी होती है। उनमें विभिन्न चर और विधियाँ होती हैं। - हाँ, मेरे पास परमाणु संरचना का एक सामान्य विचार है। मैं एक रोबोट हूँ, है ना? - आइए प्रोग्राम को समग्र रूप से देखें: ऑब्जेक्ट बिल्डिंग ब्लॉक्स की तरह हैं जो प्रोग्राम बनाते हैं। कक्षाएं उन ब्लॉकों के प्रकार हैं। विभिन्न प्रकार के ब्लॉक विभिन्न वर्गों की वस्तुएँ हैं। - मुझे यह मिल गया। - स्पष्टीकरण # 2। जब हमें किसी नए प्रकार की वस्तु की आवश्यकता होती है तो हम एक नया वर्ग बनाते हैं। इस वर्ग के भीतर हम वस्तुओं के वांछित व्यवहार का वर्णन करते हैं। - ठीक है, मुझे कुछ समझ में आया है, लेकिन मुझे इस पर यकीन नहीं है। - आंतरिक संरचना को ध्यान में रखते हुए, वर्ग में वर्ग विधियाँ होती हैं जो कुछ करती हैं और वर्ग चर जहाँ विधियाँ साझा डेटा संग्रहीत करती हैं। - सीधे शब्दों में कहा जाए तो क्लास तरीकों का एक सेट है? - बहुत अधिक, अधिक विशेष रूप से, वर्ग विधियों का एक समूह है जो एक साथ काम करता है और वेरिएबल जिसमें विधियों को साझा करने के लिए विभिन्न मानों को संग्रहीत किया जाता है। - हाँ। एक नया वर्ग बनाने के लिए, हमें इन विधियों को लिखने की आवश्यकता है... - हां। हमें यह भी तय करने की आवश्यकता है कि कौन से चर अलग-अलग तरीकों से साझा किए जाते हैं, और फिर चर को एक विधि से कक्षा में ले जाते हैं: विधि चर को वर्ग चर में बदल दें। - कक्षाएं निम्नलिखित पैटर्न पर बनाई गई हैं: 1 प्रोग्रामर यह तय करता है कि उसे किन अन्य वस्तुओं की आवश्यकता है। 2 प्रोग्रामर इन वस्तुओं को उनके द्वारा किए जाने वाले कार्यों के आधार पर विभिन्न प्रकारों में विभाजित करता है। 3 प्रोग्रामर प्रत्येक प्रकार के लिए एक अलग वर्ग लिखता है। 4 कक्षा में, वह आवश्यक विधियों और चरों की घोषणा करता है। 5कमांड को प्रत्येक विधि में लिखा जाना चाहिए ताकि विधि वह करे जो प्रोग्रामर चाहता है। 6 क्लास तैयार है, अब आप इसके ऑब्जेक्ट बना सकते हैं। - बहुत बढ़िया! यह एक दिलचस्प स्कीम है। मैं इसे याद रखूंगा। - आपको इसे याद रखना होगा, यह आपके काम आएगा। प्रोग्रामिंग दृष्टिकोण, जिसमें प्रोग्राम को वस्तुओं में विभाजित किया जाता है, उसे ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग ( OOP ) कहा जाता है। - जावा ओओपी दृष्टिकोण का एक उत्कृष्ट उदाहरण है, क्योंकि जावा में सब कुछ वस्तुएं हैं। - जावा सीखने में दो प्रमुख कार्य होते हैं: अपनी कक्षाओं को लिखना सीखना और अन्य लोगों की कक्षाओं का उपयोग करना सीखना. आज हम सबसे आसान चीजों से शुरुआत करते हैं। आप सरल कक्षाएं लिखना सीखेंगे और निश्चित रूप से, उनकी वस्तुएँ बनाएंगे। वस्तुओं को अक्सर कक्षाओं का उदाहरण कहा जाता है। ये पर्यायवाची हैं, कोई भी तरीका सही है। - समझ गया। - योग करने के लिए मैं कह सकता हूं कि क्लास एक मिनीप्रोग्राम है: डेटा और फ़ंक्शंस का एक सेट जो इस डेटा के साथ कुछ करता है। कक्षाओं की एक महत्वपूर्ण विशेषता इन वर्गों (वस्तुओं) के उदाहरण बनाने की क्षमता है। - क्लास ऑब्जेक्ट बनाने के लिए, आपको कोड «new class_name()» में लिखना होगा । पुराना स्तर 05 - 4- एक क्लास ऑब्जेक्ट में दो दिलचस्प विशेषताएं होती हैं: - पहला। प्रत्येक क्लास ऑब्जेक्ट क्लास वेरिएबल्स की अपनी कॉपी स्टोर करता है।इसलिए, यदि वर्ग में चर x, y घोषित किए जाते हैं और इस वर्ग के 10 ऑब्जेक्ट बनाए जाते हैं, तो प्रत्येक ऑब्जेक्ट के अपने चर होते हैं। किसी वस्तु के चर बदलने से दूसरी वस्तु के चर प्रभावित नहीं होते हैं। - दूसरा। जब कोई नया ऑब्जेक्ट बनाया जाता है, तो उसे विभिन्न पैरामीटर पास किए जा सकते हैं। ये तथाकथित «स्टार्टअप मूल्य» हैं। यह लगभग जन्म के समय नाम देने जैसा है। ऐसे पैरामीटर पास किए बिना कई ऑब्जेक्ट नहीं बनाए जा सकते। - मै थोडा समझता हूँ। और आपने वर्ग चर के बारे में क्या कहा? - प्रत्येक वस्तु के पास डेटा (वर्ग चर) की अपनी प्रति होती है। पुराना स्तर 05 - 5

2 रिशा पैकेज के बारे में बात करती है

- अरे, अमीगो! अब मैं आपको पैकेज के बारे में बताता हूं। - कंप्यूटर में फाइलों को फोल्डर में समूहीकृत किया जाता है। जावा में कक्षाएं (प्रत्येक वर्ग एक अलग फ़ाइल में है) संकुल द्वारा समूहीकृत हैं जो डिस्क पर फ़ोल्डर्स हैं। यह कोई नई बात नहीं है। लेकिन दो टिप्पणियाँ हैं। - सबसे पहले , "एक अद्वितीय पूर्ण वर्ग का नाम" "पैकेज का नाम" + "वर्ग का नाम" है । उदाहरण: पुराना स्तर 05 - 6- पूरी कक्षा का नाम हमेशा अद्वितीय होता है! - हर बार एक लंबा नाम लिखना बहुत कठिन होता है, जैसे java.util.ArrayList । इसलिए, अपने कोड में आप अन्य वर्गों के संक्षिप्त नामों का उपयोग कर सकते हैं। लेकिन इसके लिए आपको कुछ जादू का इस्तेमाल करने की जरूरत है। - क्या जादू? - आप कथन का उपयोग कर सकते हैं «आयात java.util.ArrayList;» - कक्षा की शुरुआत में, पैकेज घोषित होने के तुरंत बाद, आपको अपने कोड में प्रयुक्त ArrayList वर्ग का पूरा नाम निर्दिष्ट करना होगा। मान लें कि आप अपने कोड में java.util.ArrayList, sun.generic.ArrayList और com.oracle.ArrayList क्लासेस का इस्तेमाल करते हैं। आप उनमें से एक को आयात में निर्दिष्ट कर सकते हैं (उदाहरण के लिए sun.generic.ArrayList;) और उसके संक्षिप्त नाम का उपयोग करें। यह केवल एक वर्ग को मानता है। - यह इतना जटिल क्यों है? क्या समान नाम वाली कक्षाएं हो सकती हैं? - हां, अलग-अलग पैकेजों में एक ही नाम वाली कक्षाएं हो सकती हैं। लेकिन हम अपनी कक्षा में एक ही नाम वाली दो कक्षाओं को इम्पोर्ट नहीं कर सकते हैं, इसलिए हमें उनमें से किसी एक का पूरा नाम लागू करना होगा। - यहाँ एक और सादृश्य है। आपकी टीम में बिल है और संचार में कोई समस्या नहीं है, क्योंकि हर कोई जानता है कि यह कौन है। लेकिन अगर तीन विधेयक होते, तो आपको उनमें अंतर करने के लिए उनके पूर्ण अद्वितीय नामों का उपयोग करना होता। - दूसरा , कक्षाओं को संकुल में रखना बेहतर है न कि src रूट फ़ोल्डर में । जब कुछ कक्षाएं होती हैं तो कोई समस्या नहीं होती है, लेकिन जब बहुत सारी कक्षाएं होती हैं तो भ्रमित होना बहुत आसान होता है। इसलिए, हमेशा संकुल में कक्षाएं बनाएं। जावा में नियम कक्षाओं और पैकेजों को स्व-व्याख्यात्मक नाम देना है। कई कंपनियां अपने पुस्तकालयों (वर्ग सेट) का उत्पादन करती हैं और भ्रम से बचने के लिए, कंपनी / वेबसाइट के बाद इन वर्गों के नाम पैक: पुराना स्तर 05 - 7

3 किम वीडियो ट्यूटोरियल दिखाते हैं

- अरे, अमीगो! यहां कुछ वीडियो ट्यूटोरियल हैं, कैसे कक्षाएं और पैकेज बनाएं:
- हम पहले ही कर चुके हैं! - आप इसे अपने रोबोट जीवन में हजार बार करेंगे। इसलिए इसकी आदत डाल लें। और अब, आपको अभ्यास करने की ज़रूरत है! जावा क्लास बनाना पैकेज बनाना

4 एली, वस्तुओं का निर्माण, वस्तु संदर्भ

- तो, ​​हमने पिछली बार कक्षाएं सीखी हैं। आज मैं आपको बताना चाहता हूं कि ऑब्जेक्ट कैसे बनाएं। यह बहुत सरल है: हम जिस वस्तु को बनाना चाहते हैं, उसके लिए कीवर्ड नया और वर्ग का नाम लिखें: पुराना स्तर 05 - 8- लेकिन मैंने इसे पहले सुना है। - मुझे पता है, लेकिन कृपया सुनो। - जब कोई नया ऑब्जेक्ट बनाया जाता है, तो ब्रेसिज़ में विभिन्न पैरामीटर पास किए जा सकते हैं। मैं इसे आज थोड़ी देर बाद समझाऊंगा। आइए क्लास कैट पर विचार करें: पुराना स्तर 05 - 9- ये गेटर्स और सेटर्स क्या हैं ? - वेरिएबल्स जो अन्य वर्गों से सुलभ नहीं हैं, जावा में सामान्य अभ्यास हैं। आम तौर पर, एक वर्ग के भीतर घोषित चर में संशोधक निजी होता है । - निजी चर तक पहुँच प्रदान करने के लिए, आपको दो विधियाँ बनानी चाहिए: प्राप्त करेंऔर सेट करेंप्राप्त करने की विधि का लक्ष्य चर के वर्तमान मूल्य को उस व्यक्ति को वापस करना है जिसने इसे बुलाया है। विधि सेट का लक्ष्य एक नया मान सेट करना है। - और क्या बात है? - अगर हम नहीं चाहते कि कोई हमारे ऑब्जेक्ट वेरिएबल्स के मूल्यों को बदल दे, तो हम केवल कोई विधि सेट नहीं लिख सकते हैं , या इसे निजी बना सकते हैं । आप इस विधि में अतिरिक्त डेटा जाँच भी जोड़ सकते हैं। यदि नया पास किया गया मान अमान्य है, तो कुछ भी न बदलें। - यह तो दिलचस्प है। - चूँकि क्लास में बहुत सारे वेरिएबल्स हो सकते हैं, इसलिए मेथड्स के नाम मिलते और सेट होते हैंआमतौर पर वे जिस वेरिएबल के साथ काम करते हैं उसका नाम शामिल करते हैं। - यदि एक चर का नाम पूर्ण नाम है , तो विधियों का नाम getFullName और setFullName होना चाहिए । और इसी तरह इसी तरह। - समझ गया! कुल मिलाकर यह एक समझने योग्य दृष्टिकोण है। - यहां नव निर्मित वस्तु के साथ काम करने के कुछ उदाहरण दिए गए हैं: पुराना स्तर 05 - 10

5 डिएगो, अपनी कक्षाओं और वस्तुओं के निर्माण के लिए कार्य

- अरे, अमीगो! क्लास और ऑब्जेक्ट बनाने के लिए यहां कुछ टास्क दिए गए हैं:
कार्य
1 एक क्लास कैट बनाएं
एक क्लास कैट बनाएं। एक बिल्ली का नाम (नाम, स्ट्रिंग), उम्र (उम्र, इंट), वजन (वजन, इंट), और ताकत (ताकत, इंट) होनी चाहिए।
2 विधि लड़ाई लागू करें
विधि बूलियन लड़ाई लागू करें (बिल्ली दूसरी बिल्ली): बिल्लियों के वजन, उम्र और ताकत के आधार पर एक लड़ाई तंत्र लागू करें। अपने आप पर एक निर्भरता बनाओ। विधि को यह निर्धारित करना चाहिए कि क्या वर्तमान बिल्ली (जिस वस्तु की लड़ाई विधि को बुलाया गया था) या दूसरी कैट जीत गई, यानी यदि वर्तमान बिल्ली जीत गई और गलत है, तो वह जीत नहीं पाई। निम्नलिखित शर्त पूरी होनी चाहिए:

if cat1.fight(cat2) == true, then cat2.fight(cat1) == false
3 क्लास डॉग के लिए गेटर्स और सेटर्स <
एक क्लास डॉग बनाएं। एक कुत्ते का एक नाम होना चाहिए - स्ट्रिंग का नाम और उम्र - इंट एज।
डॉग क्लास के सभी वेरिएबल्स के लिए गेटर्स और सेटर बनाएं।
4 C कैट टाइप के तीन ऑब्जेक्ट
बनाता है मेन मेथड में कैट टाइप के तीन ऑब्जेक्ट बनाता है और उन्हें डेटा से भरता है।
पहले कार्य के वर्ग कैट का प्रयोग करें। कैट क्लास न बनाएं।
5 बिल्लियों के बीच तीन जोड़ी लड़ाई पकड़ो
बिल्ली वर्ग का उपयोग करके तीन बिल्लियाँ बनाएँ।
बिल्लियों के बीच तीन जोड़ो में लड़ाई करें।
कैट क्लास न बनाएं। लड़ाई के लिए, विधि का उपयोग करें बूलियन लड़ाई(बिल्ली दूसरी बिल्ली)।
प्रत्येक लड़ाई का परिणाम प्रदर्शित करें।

6 रिशा एक वस्तु आरंभीकरण के बारे में बात करती है

- मैं आपको ऑब्जेक्ट इनिशियलाइज़ेशन के बारे में बताना चाहता हूँ। जब कोई ऑब्जेक्ट बनाया जाता है, तो स्टार्टअप डेटा को इसके वेरिएबल्स को असाइन करना आवश्यक होता है , ताकि जब आप किसी ऑब्जेक्ट को एक्सेस करने का प्रयास करते हैं, और इसमें ठीक से काम करने के लिए कोई डेटा आवश्यक न हो। - आइए फ़ाइल प्रकार की एक वस्तु पर विचार करें। फ़ाइल के लिए न्यूनतम आवश्यक जानकारी उसका नाम है। बिना नाम वाली फाइल बकवास है। - मान लीजिए कि आप फाइलों के साथ काम करने के लिए फाइल क्लास (उदाहरण के लिए MyFileClass) का अपना संस्करण लिख रहे हैं। इस वर्ग की प्रत्येक वस्तु के लिए क्या सूचना आवश्यक है? - फ़ाइल का नाम जिसके साथ यह वस्तु काम करेगी? - यह सही है। इसलिए हम अपनी क्लास में इनिशियलाइज़ () मेथड जोड़ते हैं। यह ऐसा दिखेगा: पुराना स्तर 05 - 11- हमने तरीका जोड़ा हैप्रारंभ करें , किसी वस्तु के साथ काम करने में सक्षम होने के लिए - इसके तरीकों को कॉल करें। यह मेथड इनिशियलाइज़ कहे जाने के तुरंत बाद किया जा सकता है। यदि आप किसी वस्तु के साथ काम नहीं कर सकते हैं, तो इसे अमान्य कहा जाता है , अन्यथा यह मान्य है । मेथड इनिशियलाइज़ का मुख्य उद्देश्य - ऑब्जेक्ट को वैध बनाने के लिए सभी आवश्यक डेटा को पास करना है। - समझ गया! - अब कार्य को जटिल करते हैं। या बल्कि सरल करें। आप इसे कैसे देखते हैं इसके आधार पर। कल्पना करें कि एक अन्य प्रोग्रामर के लिए जो हमारी कक्षा का उपयोग करेगा, पूर्ण फ़ाइल नाम नहीं, बल्कि एक निर्देशिका और एक छोटा फ़ाइल नाम पास करना आसान है। हम इस कार्यक्षमता को किसी अन्य विधि का उपयोग करके कार्यान्वित कर सकते हैं प्रारंभ करें ( जावा समान नामों के साथ कई विधियों को बनाने में सक्षम बनाता है). तब हमारी कक्षा इस तरह दिखेगी: पुराना स्तर 05 - 12- और तो और, वर्तमान फ़ाइल के बगल में एक अस्थायी फ़ाइल प्रतिलिपि बनाना अक्सर आवश्यक होता है। - क्या हम इस स्थिति के लिए कोई विधि बना सकते हैं? - ज़रूर, इस पर एक नज़र डालें: पुराना स्तर 05 - 13- तो, ​​मैं इनमें से जितने चाहें उतने तरीके बना सकता हूँ? - कारण के भीतर, बिल्कुल। लेकिन, वास्तव में, जितने आप चाहें। - और विधि को प्रारंभ करने के लिए कॉल करना कब आवश्यक है? - ऑब्जेक्ट बनने के तुरंत बाद, इसे एक वैध में बदलने के लिए: पुराना स्तर 05 - 14- और यह विधि getFolder () क्या है? - आप इसके नाम से देख सकते हैं कि यह विधि उस फ़ोल्डर के नाम वाली स्ट्रिंग को वापस करना है जहां हमारी फाइल स्थित है। लेकिन हमने यहां उसका इम्प्लीमेंटेशन नहीं लिखा, यह सिर्फ दिखावे के लिए है।

7 डिएगो, ऑब्जेक्ट इनिशियलाइज़ेशन टास्क

- अरे, अमीगो! मैं हमारे पाठ के बिना ऊब गया हूँ। यहाँ कुछ वस्तु आरंभीकरण कार्य हैं:
कार्य
1 क्लास फ्रेंड बनाएं
तीन इनिशियलाइजर्स के साथ क्लास फ्रेंड बनाएं (इनिशियलाइज करने के तीन तरीके):
- नाम
- नाम, उम्र
- नाम, उम्र, लिंग
2 एक क्लास कैट बनाएं
पांच इनिशियलाइज़र के साथ एक क्लास कैट बनाएं:
- नाम
- नाम, वजन, उम्र
- नाम, उम्र (मानक वजन)
- वजन, रंग, (नाम, पता और उम्र अज्ञात है, यह एक गली बिल्ली है)
- वजन, रंग, पता (यह किसी और की घरेलू बिल्ली है)
प्रारंभकर्ता का कार्य किसी वस्तु को वैध बनाना है। उदाहरण के लिए, यदि वज़न अज्ञात है, तो आपको कुछ औसत वज़न निर्दिष्ट करने की आवश्यकता है। एक बिल्ली का कोई वज़न नहीं हो सकता, वैसे ही उम्र भी। लेकिन इसका कोई नाम (शून्य) नहीं हो सकता। वही पते पर लागू होता है - अशक्त हो सकता है।
3 एक क्लास डॉग बनाएँ
तीन इनिशियलाइज़र्स के साथ एक क्लास डॉग बनाएँ:
- नाम
- नाम, ऊँचाई
- नाम, ऊँचाई, रंग
4 एक क्लास सर्कल बनाएं
तीन इनिशियलाइज़र के साथ एक क्लास सर्कल बनाएं:
- सेंटरएक्स, सेंटरवाई, त्रिज्या
- सेंटरएक्स, सेंटरवाई, त्रिज्या, चौड़ाई
- सेंटरएक्स, सेंटरवाई, त्रिज्या, चौड़ाई, रंग
5 एक वर्ग आयत बनाएँ
एक वर्ग आयत बनाएँ। इसका डेटा टॉप, लेफ्ट, विड्थ और हाइट होगा। इसके लिए जितना हो सके इनिशियलाइज़ (...) तरीके लिखें

उदाहरण:
- 4 पैरामीटर सेट किए जाने चाहिए: बाएँ, ऊपर, चौड़ाई, ऊँचाई
- चौड़ाई/ऊँचाई सेट नहीं है (दोनों बराबर 0)
- ऊँचाई सेट नहीं है (के बराबर) चौड़ाई), एक वर्ग बनाएँ
- एक और आयत की एक प्रति बनाएँ (यह मापदंडों में पारित हो गया है)

8 एली कंस्ट्रक्टर्स के बारे में बात करता है

- यह आपको कंस्ट्रक्टर्स के बारे में बताने का समय है। यह बहुत सरल है: प्रोग्रामर ने वस्तु निर्माण और आरंभीकरण के लिए एक आशुलिपि संकेतन का आविष्कार किया: पुराना स्तर 05 - 15- लेकिन मैंने उन इनिशियलाइज़र्स को अभी समझा है ... - परेशान मत हो। ज़रा बारीकी से देखें। कंस्ट्रक्टर्स का उपयोग करना अधिक सुविधाजनक और स्थान बचाने वाला है। - हाँ, यह बहुत बेहतर दिखता है। लेकिन एक सवाल है: मुझे पता है कि क्लास में इनिशियलाइज़ मेथड कैसे लिखना है, लेकिन मैं क्लास के भीतर कंस्ट्रक्टर कैसे लिखूँ? - सबसे पहले, एक साधारण उदाहरण देखें: पुराना स्तर 05 - 16- क्लास में कंस्ट्रक्टर घोषित करना बहुत आसान है। कंस्ट्रक्टर इनिशियलाइज़ मेथड की तरह है, लेकिन इसके दो अंतर हैं:
  • कंस्ट्रक्टर विधि का नाम वर्ग के नाम के समान है ( इनिशियलाइज़ के बजाय )।
  • कन्स्ट्रक्टर विधि में कोई वापसी प्रकार नहीं है (कोई प्रकार बिल्कुल निर्दिष्ट नहीं है)।
- वास्तव में, यह एक ही विधि प्रारंभ है, लेकिन कुछ अंतरों के साथ। मुझे मिल गया।

9 डिएगो, कंस्ट्रक्टर कार्य

- मुझे लगता है, आपने थोड़ा आराम किया है। अच्छा। यहाँ कुछ कंस्ट्रक्टर निर्माण कार्य दिए गए हैं:
कार्य
1 एक क्लास फ्रेंड बनाएं
तीन कंस्ट्रक्टर्स के साथ एक क्लास फ्रेंड बनाएं:
- नाम
- नाम, उम्र
- नाम, उम्र, लिंग
2 एक वर्ग बनाएँ बिल्ली
पाँच निर्माणकर्ताओं के साथ एक वर्ग बिल्ली बनाएँ:
- नाम,
- नाम, वजन, उम्र
- नाम, उम्र (मानक वजन)
- वजन, रंग, (नाम, पता और उम्र अज्ञात। यह एक गली बिल्ली है)
- वजन, रंग, पता (यह किसी और की घरेलू बिल्ली है)
प्रारंभकर्ता का कार्य किसी वस्तु को वैध बनाना है। उदाहरण के लिए, यदि वज़न अज्ञात है, तो आपको कुछ औसत वज़न निर्दिष्ट करने की आवश्यकता है। एक बिल्ली का कोई वज़न नहीं हो सकता, वैसे ही उम्र भी। लेकिन इसका कोई नाम (शून्य) नहीं हो सकता। वही पते पर लागू होता है - अशक्त हो सकता है।
3 एक क्लास डॉग बनाएं
तीन कंस्ट्रक्टर्स के साथ एक क्लास डॉग बनाएं:
- नाम
- नाम, ऊंचाई
- नाम, ऊंचाई, रंग
4 एक क्लास सर्कल बनाएं
तीन कंस्ट्रक्टर के साथ एक क्लास सर्कल बनाएं:
- सेंटरएक्स, सेंटरवाई, त्रिज्या
- सेंटरएक्स, सेंटरवाई, त्रिज्या, चौड़ाई
- सेंटरएक्स, सेंटरवाई, त्रिज्या, चौड़ाई, रंग
5 एक वर्ग आयत बनाएँ
एक वर्ग आयत बनाएँ। इसका डेटा टॉप, लेफ्ट, विड्थ और हाइट होगा। इसके लिए जितना संभव हो उतना कंस्ट्रक्टर बनाएं:

उदाहरण:
- 4 पैरामीटर सेट हैं: लेफ्ट, टॉप, चौड़ाई, ऊंचाई
- चौड़ाई/ऊंचाई सेट नहीं है (दोनों बराबर 0)
- ऊंचाई सेट नहीं है (चौड़ाई के बराबर), एक वर्ग बनाएं
- एक और आयत की एक प्रति बनाएँ (यह मापदंडों में पारित हो गई है)

10 प्रोफेसर, वर्ग और निर्माता

- मैं फिर से आ गया। हमारे व्याख्यान बस महान हैं। मैं आपको उबाऊ व्याख्यानों के लिंक नहीं दूंगा। यहाँ उत्कृष्ट सामग्री का लिंक दिया गया है! - क्या आप अभी भी यहीं हैं? जल्दी जाओ, पढ़ो, और मुझे लैब जाना चाहिए। CodeGym व्याख्यान 5 चर्चा

11 जूलियो

- अरे, अमीगो! मुझे थोड़ी थकान हो रही है। आइए थोड़ा आराम करें और फिर पाठ शुरू करें। मुझे एक नया एपिसोड मिला है:

12 जॉन गिलहरी

- हैलो, सिपाही! - सुप्रभात सर! - मेरे पास आपके लिए कुछ शानदार खबरें हैं। यहां आपके कौशल को सुदृढ़ करने के लिए कार्य हैं। इसे हर दिन करें, और आप अपने कौशल में तेजी से वृद्धि करेंगे। कार्य विशेष रूप से Intellij IDEA में करने के लिए डिज़ाइन किए गए हैं।
Intellij Idea में करने के लिए अतिरिक्त कार्य
1 1. तीन वर्ग
1. क्लास डक के अनुरूप क्लास कैट और डॉग बनाएं।
2. सोचें कि कैट और डॉग कक्षाओं में toString विधि क्या वापस आनी चाहिए।
3. मुख्य विधि में प्रत्येक वर्ग में दो वस्तुएँ बनाएँ और उन्हें प्रदर्शित करें।
4. डक क्लास ऑब्जेक्ट्स बनाए और प्रदर्शित किए जाते हैं।
2 आदमी और औरत
1. वर्ग समाधान के भीतर सार्वजनिक स्थैतिक वर्ग आदमी और औरत बनाएँ।
2. कक्षाओं में फ़ील्ड होना चाहिए: नाम (स्ट्रिंग), आयु (इंट), पता (स्ट्रिंग)।
3. सभी संभावित मापदंडों को पास करने के लिए कंस्ट्रक्टर बनाएं।
4. सभी डेटा के साथ प्रत्येक वर्ग के दो ऑब्जेक्ट बनाने के लिए कंस्ट्रक्टर का उपयोग करें।
5. वस्तुओं को प्रारूप [नाम + "" + आयु + "" + पता] में प्रदर्शित करें।
3 3. सार्वजनिक स्थिर वर्ग कुत्ता और बिल्ली बनाएँ।
अपने विकल्प पर प्रत्येक कक्षा में तीन फ़ील्ड जोड़ें।
टॉम एंड जेरी कार्टून चरित्रों के लिए वस्तुओं का निर्माण करें, जितना आपको याद हो।

उदाहरण:
माउस जेरीमाउस = नया माउस ("जैरी", 12 (ऊंचाई, सेमी), 5 (पूंछ की लंबाई, सेमी))
4 4. वर्तमान दिनांक प्रदर्शित करें
स्क्रीन पर वर्तमान दिनांक को «21 02 2014» के समान रूप में प्रदर्शित करें।
5 5. कीबोर्ड से नंबर पढ़ें और कीबोर्ड से उनकी कुल
रीड संख्या की गणना करें और जब तक उपयोगकर्ता «कुल» शब्द दर्ज नहीं करता तब तक उनकी कुल गणना करें। स्क्रीन पर कुल प्रदर्शित करें।
- वे कार्य साग के लिए थे। मैंने उच्च जटिलता के बोनस कार्य जोड़े। शीर्ष बंदूकों के लिए ही।
बोनस कार्य
1 1. प्रोग्राम कंपाइल और रन नहीं करता है। इसे ठीक करें।
टास्क: प्रोग्राम को कीबोर्ड से दो नंबर पढ़ना चाहिए और उनका कुल प्रदर्शित करना चाहिए।
2 2. प्रोग्राम में नई कार्यक्षमता जोड़ें।
पुराना कार्य: एक नया फ़ंक्शन जोड़ें जो कीबोर्ड से दो नंबर पढ़ता है और उनका न्यूनतम प्रदर्शित करता है।
नया कार्य: एक नया फ़ंक्शन जोड़ें जो कीबोर्ड से पाँच नंबर पढ़ता है और उनका न्यूनतम प्रदर्शित करता है।
3 3. एल्गोरिदम सीखना और अभ्यास करना।
टास्क: एक प्रोग्राम लिखें जो
1. कंसोल नंबर N से पढ़ता है जो शून्य से अधिक है
2. फिर कंसोल से N नंबर पढ़ता है
3. दर्ज किए गए N नंबरों की अधिकतम संख्या प्रदर्शित करता है।
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION