Java/C3/Using-final-keyword/Sanskrit

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:01 Using final keyword इति स्पोकन् ट्युटोरियल् प्रति स्वागतम् ।
00:05 पाठेऽस्मिन् वयं, final इति कीवर्ड् अपि च तस्योपयोगः कदा करणीयः इति ज्ञास्यामः ।
00:11 तथा च वयम् -

final वेरियेबल्स्,

final मेथड्स्,

final क्लासस् इत्येतेषां विषयं ज्ञास्यामः ।

00:18 इदं ट्युटोरियल् रेकोर्ड् कर्तुमहम्,

उबण्टु लिनक्स् 12.04 आवृत्तिः,

JDK 1.7,

Eclipse 4.3.1 इत्येतानि उपयुञ्जे ।

00:30 पाठमिदम् अनुसर्तुं भवद्भ्यः जावा तथा एक्लिप्स् ऐ डि ई अनयोः किञ्चिज्ज्ञानमावश्यकम् ।
00:36 युष्मभ्यं सब्-क्लासिङ्ग् अपि च मेथड् ओवर् रैडिङ्ग् विषयमपि ज्ञातं स्यात् ।
00:41 नास्ति चेत् तत्सम्बद्ध-जावा-पाठार्थं अस्माकं जालपुटं पश्यन्तु ।
00:46 वयमादौ final इति कीवर्ड् ज्ञास्यामः ।
00:50 “फैनल्” इतीदं जावा मध्ये एकं कीवर्ड् अथवा आरक्षितपदं वर्तते ।
00:55 इदं वेरियेबल्स् इत्येतेभ्यः, मेथड्स् इत्येतेभ्यः, क्लासस् इत्येतेभ्यश्च विनियोक्तुं शक्नुमः ।
01:01 वयमधुना पैनल् वेरियेबल् विषयं ज्ञास्यामः ।
01:05 फैनल् वेरियेबल् इत्यस्य मूल्यस्य परिवर्तनम् अशक्यम् । अर्थात् तदेकं “कोन्स्टेण्ट्” वर्तते ।
01:13 अहमधुना Eclipse IDE इत्यस्मै प्रतिवर्तनं करोमि । पूर्वतन पाठे एव अहं MyProject इति प्रोजेक्ट् रचिरवान् आसम् ।
01:22 अतः वयं प्रकल्पस्य Employee क्लास् गच्छाम ।
01:26 name इति वेरियेबल् प्रति आगच्छतु ।
01:30 name वेरियेबल् इत्यस्यादौ final कीवर्ड् संयोजयन्तु । वयमधुना name इति वेरियेबल् final इति परिवर्तितवन्तः ।
01:40 वयमिदं name इति वेरियेबल्, "sneha" इति मूल्येन इनिशियलैस् कुर्मः ।
01:45 इदं प्रोग्राम् सेव् कृत्वा रन् कुर्मः ।
01:48 अस्माभिः The final field Employee.name cannot be assigned इति कम्पैलेशन् एरर् प्राप्यते ।
01:55 यतो हि final वेरियेबल् name इतीदं, पूर्वमेव डिक्लेर् भूत्वा इनिशियलैस् जातम् ।
02:05 final वेरियेबल्, केवलम् एकवारं इनिशियलैस् भवितुमर्हति ।
02:08 वयमतः setName मेथड् इतीदं कोमेण्ट् करवामहै । इदं name इत्यस्य परवर्तनं करोति ।
02:14 इदं क्लास् सेव् करोतु ।
02:16 अधुना TestEmployee क्लास् प्रति आगच्छन्तु ।
02:19 main मेथड् प्रति आगत्य manager.setName("Nikkita Dinesh"); इति पङ्क्तिं कमेण्ट् कुर्वन्तु ।
02:26 इदं setName मेथड् इत्यस्य इन्स्टन्स् वर्तते इत्यतः वयमिदं पङ्क्तिं कमेण्ट् कृतवन्तः ।
02:31 वयं तदानीमेव Employee क्लास् मध्ये , setName मेथड् कमेण्ट् कृतवन्तः ।
02:35 अधुना क्लास् रक्षित्वा प्रोग्राम् रन् कुर्वन्तु ।
02:38 उत्तमम्!!! वयं फलितं प्राप्तवन्तः ।

Name: Sneha Email: abc@gmail.com Manager of: Accounts

02:47 वयं TestEmployee क्लास् तथा Employee क्लास् मध्ये, वेरियेबल्स् इतीमानि एतैः मूल्यैः सह इनिशियलैस् कृतवन्तः इत्यतः, इदं फलितं प्राप्तवन्तः ।
02:58 अधुना Employee क्लास् इत्यस्य final वेरियेबल् name प्रति आगच्छन्तु ।
03:02 final वेरियेबल् name इत्यस्य इनिशियलैस्ड् वेल्यू, अर्थात् “sneha” इतीदं निष्कासयन्तु ।
03:08 setName मेथड् इत्यस्य कोमेण्ट् इत्यस्य निरसनं करोतु ।
03:12 प्रोग्राम् सेव् कृत्वा रन् कुर्वन्तु ।
03:14 अस्माभिः एरर् प्राप्यते : The final field Employee.name cannot be assigned.
03:20 यतो हि, final वेरियेबल् इनिशियलैस् न कृतं चेत् “कन्स्ट्रक्टर्” इदं इनिशियलैस् कर्तुं शक्यते ।
03:28 किमर्थमिति चेत्, अस्य परिवर्तनं प्रोग्राम् मध्ये अन्यत्र असाध्यम् ।
03:33 अतः, Employee क्लास् मध्ये एकं कन्स्ट्रक्टर् रचयाम । कन्स्ट्रक्टर् विषयं वयं ज्ञातवन्तः ।
03:43 कन्स्ट्रक्टर् अपि क्लास् इत्यस्यैव नाम प्राप्तवदस्तीति ज्ञातम् ।
03:47 अतः एवं टङ्कयन्तु :

Employee, parentheses, open and close curly brackets अपि च कर्लि ब्रेकेट् अन्तः वयं वेरियेबल् name इतीदं “sneha” सेमिकोलन् इत्यनेन सह इनिशियलैस् कुर्मः ।

04:08 setName मेथड् इतीदं कोमेण्ट् कुर्वन्तु ।
04:12 प्रोग्राम् इतीदं रक्षित्वा रन् कुर्वन्तु ।
04:15 अस्मदभीष्टं फलितं प्राप्तवन्तः ।
04:17 कन्स्ट्रक्टर् मध्ये, फैनल् वेरियेबल् सफलताया इनिशियलैस् जातम् ।
04:22 वयमधुना “फैनल् स्टेटिक् वेरियेबल्स्” विषयं ज्ञास्यामः ।
04:26 Employee क्लास् मध्ये, फैनल् वेरियेबल् प्रति आगच्छन्तु ।
04:30 final कीवर्ड् इत्यस्मात् प्राक् static कीवर्ड् संयोजयन्तु । वयमधुना फैनल् वेरियेबल् इतीदं स्टेटिक् इति परिवर्तनं कृतवन्तः ।
04:38 प्रोग्राम् इत्यस्य सेव् तथा रन् च कुर्वन्तु ।
04:40 अस्माभिः The final field Employee.name cannot be assigned इति एरर् दृश्यते ।
04:46 अस्य कारणं, कन्स्ट्रक्टर् मध्ये, static final वेरियेबल्स् इनिशियलैस् कर्तुमशक्यम् ।
04:53 तेषां डिक्लेर् करणकाले एव वेल्यू असैन् कर्तव्यम् । अथवा तानि “स्टेटिक् ब्लोक्स्”-मध्ये डिक्लेर् कर्तव्यम् ।
05:01 स्टेटिक्-वेरियेबल्स् इतीमानि, एकस्य क्लास् इत्यस्य सर्वाणि ओब्जेक्ट्स् मध्ये, वितरणं कुर्मः ।
05:06 नूतन ओब्जेक्ट् विरच्यते चेत्, स्टेटिक् वेरियेबल् अन्यं भवितुमर्हति । स्टेटिक् वेरियेबल् , फैनल् भविष्यति चेत् अस्यानुमतिः नास्ति ।
05:14 Eclipse IDE प्रति आगच्छन्तु ।
05:17 वयमधुना एकं स्टेटिक् ब्लोक् रचयाम ।
05:20 तदर्थं, Employee क्लास्-मध्ये अस्माभिः रचितं कन्स्ट्रक्टर् प्रति आगच्छाम ।
05:26 अत्र, Employee अपि च आवरणस्य स्थाने static इति टङ्कयाम । वयमधुना एकं स्टेटिक् ब्लोक् रचितवन्तः ।
05:35 अधुना प्रोग्राम् इत्यस्य सेव् तथा रन् च कुर्मः ।
05:38 अस्माभिः फलितं प्राप्तम् । वयं सफलतया static final वेरियेबल् इनिशियलैस् कृतवन्तः ।
05:46 वयमधुना फैनल् वेरियेबल् इतीदं, मेथड् इत्यस्मै पेरामीटर् रूपेण उपयुञ्ज्महे ।
05:52 Employee क्लास् मध्ये setEmail मेथड् प्रति आगच्छन्तु ।
05:55 String newEmail इत्यस्मात् प्राक् final कीवर्ड् संयोजयन्तु । वयमिदं पेरामीटर् फैनल् कृतवन्तः ।
06:03 अधुना प्रोग्राम् रक्षित्वा रन् कुर्वन्तु ।
06:06 अस्माभिः फलितं प्राप्तम् ।
06:09 अधुना setEmail मेथड् प्रति आगच्छन्तु ।

मेथड् अन्तः एवं टङ्कयन्तु : newEmail is equal to abc@gmail.com सेमिकोलन् ।

06:28 वयं newEmail फैनल् वेरियेबल् परिवर्तनं कृतवन्तः ।
06:32 पुनः, प्रोग्राम् रक्षित्वा रन् कुर्मः ।
06:35 अस्मभिः एवं एरर् प्राप्यते : The final local variable newEmail cannot be assigned.
06:42 यतो हि, फैनल् वेरियेबल् एकस्मै मेथड् इत्यस्मै पेरामीटर् वर्तते चेत्, तस्मात् मेथड् तः तं परिवर्तयितुम् असाध्यम् ।
06:50 अतः, वयं वेरियेबल् इत्यस्य परिवर्तनं निष्कासयामः ।
06:54 अधुना final मेथड् विषयं ज्ञास्यामः । Employee क्लास् मध्ये getDetails इति मेथड् प्रति आगच्छन्तु ।
07:01 getDetails मेथड् इत्यस्मात् प्राक्, final कीवर्ड् संयोजयन्तु । वयमधुना मेथड् इतीदं फैनल् कृतवन्तः ।
07:08 प्रोग्राम् रक्षित्वा रन् कुर्वन्तु ।
07:10 अस्माभिरिदम् एरर् प्राप्यते : class Manager overrides final method getDetails().
07:16 Manager क्लास् मध्ये getDetails() मेथड् प्रति आगच्छन्तु ।
07:21 अस्य कारणमस्ति यत्, भवद्भिः यत्किमपि मेथड् फैनल् इति परिवर्त्यते चेत्, भवद्भिः तस्य ओवर्-रैड् करणमशक्यम् ।
07:29 Manager क्लास् इत्यस्य getDetails() मेथड् , Employee क्लास् इत्यस्य getDetails() मेथड् इतीदम् ओवर्-रैड् करोति ।
07:36 final मेथड्, private यद्यभविष्यत् तदा किं भविष्यति?
07:39 चैल्ड्-क्लासस्, private मेथड्स् इतीमानि इन्हेरिट् न कुर्वन्ति ।
07:43 वयमतः, getDetails() मेथड् इतीदं चैल्ड्-क्लास् मध्ये संयोजितुमर्हामः । तत्कर्तुं प्रयत्नं कुर्वन्तु ।
07:51 Eclipse IDE प्रति आगच्छाम ।
07:54 Employee क्लास् मध्ये, getDetails() मेथड् इत्यस्मात् पूर्वं विद्यमानं final कीवर्ड् निष्कासयन्तु ।
08:03 फैनल् वेरियेबल् name इत्यस्मात् पूर्वं विद्यमानं static कीवर्ड् निष्कासयन्तु ।
08:10 अधुना कन्स्ट्रक्टर् इतीदं फैनल् इति डिक्लेर् कर्तुमर्हति वा नवेति जानाम ।
08:15 तदर्थं,पुनः वयं एकं कन्स्ट्रक्टर् रचयाम । static इत्यस्य स्थाने एवं टङ्कयन्तु : Employee parentheses.
08:26 कन्स्ट्रक्टर् इत्यस्मात् प्राक्, final कीवर्ड् संयोजयन्तु ।
08:31 प्रोग्राम् रक्षित्वा रन् कुर्वन्तु ।
08:36 अस्माभिरिदम् एरर् प्राप्यते : Illegal modifier for the constructor in type Employee.
08:42 अस्य कारणमस्ति यत्, कन्स्ट्र्क्टर्स् इतीमानि इन्हेरिट् भवितुं नार्हन्ति । अतः कन्स्ट्रक्टर् फैनल् न जायते ।
08:50 वयं कन्स्ट्रक्टर् इत्यस्मात् पूर्वं विद्यमानं final कीवर्ड् निष्कासयामः ।
08:54 वयमधुना, final क्लास् विषयं ज्ञास्यामः ।
08:57 Employee क्लास् इतीदं final इति परिवर्तयितुं, क्लास् तः पूर्वं final कीवर्ड् संयोजयन्तु ।
09:03 प्रोग्राम् रक्षित्वा रन् कुर्वन्तु ।
09:06 अस्माभिरिदम् एरर् प्राप्यते : The method setEmail is undefined for the type Manager.
09:12 सत्यम् एरर् अस्माभिः ज्ञातव्यं चेत् , TestEmployee क्लास् आगत्य अधस्तन पङ्क्तीः कोमेण्ट् करणीयाः ।
09:21 manager.setEmail("abc@gmail.com"); manager.setDepartment("Accounts");
09:28 क्लास् रक्षित्वा प्रोग्राम् रन् कुर्वन्तु ।
09:31 वस्तुतः एरर् एवमस्ति : The type manager cannot subclass the final class Employee.
09:40 अत्र, Manager क्लास्, Employee क्लास् इतीदं एक्स्टेण्ड् (extend) करोति ।
09:45 वयमतः Employee क्लास् प्रत्यागत्य, फैनल् कीवर्ड् निष्कासयाम । क्लास् सेव् कुर्मः ।
09:54 TestEmployee क्लास् प्रति आगच्छन्तु । अधस्तन पङ्क्तीः अन्-कोमेण्ट् कुर्वन्तु ।

manager.setEmail("abc@gmail.com"); manager.setDepartment("Accounts");

10:06 क्लास् इतीदं रक्षित्वा प्रोग्राम् रन् कुर्वन्तु ।
10:09 अस्मदभीष्टं फलितं प्राप्तम् ।
10:12 सङ्क्षेपेण अस्मिन् पाठे वयम् :

final कीवर्ड् कदा इन्वोक् कर्तव्यम्,

final वेरियेबल्स्,

final मेथड्स् अपि च final क्लासस् इत्येतेषां विषयान् ज्ञातवन्तः ।

10:27 पाठनियोजनार्थम्,

पूर्वतन पाठे अस्माभिः उपयुक्ताभ्यां Bike तथा Vehicle क्लास् इत्येताभ्यां, Using final keyword पाठे उपयुक्तस्तराणां पुनरावर्तनं कुर्वन्तु ।

10:37 जावा मध्यस्थानि फैनल् क्लासस् लिखन्तु ।
10:41 स्पोकन् ट्युटोरियल् विषये अधिकविवरणं प्राप्तुं लिङ्क् मध्यस्थं चलच्चित्रं पश्यन्तु ।
10:47 स्पोकन् ट्युटोरियल् प्रकल्पगणः :

कार्यशालां चालयति अपि च अन्तर्जालीयपरीक्षायाम् उत्तीर्णेभ्यः प्रमाणपत्रं यच्छति । अधिकविवरणं प्राप्तुं अधस्तन पर्चन्यै लिखन्तु ।.

10:56 स्पोकन् ट्युटोरियल् प्रकल्पः, टोक् टु ए टीचर् योजनायाः भागः अस्ति । अयं राष्ट्रिय साक्षरता मिशन्, ICT, MHRD द्वारा भारतसर्वकारस्य अनुदानं प्राप्तवानस्ति ।

पाठस्यास्य अनुवादकः प्रवाचकश्च श्री नवीनभट्टः उप्पिनपट्टणम् । धन्यवादाः ।

Contributors and Content Editors

NaveenBhat, Sandhya.np14