Java/C3/Subclassing-and-Method-Overriding/Sanskrit

From Script | Spoken-Tutorial
Revision as of 20:06, 18 October 2019 by NaveenBhat (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time
Narration
00:01 Subclassing and Method overriding इति विषयकस्य स्पोकन्-ट्युटोरियल् प्रति स्वागतम् ।
00:06 पाठेऽस्मिन् वयम्:

सब्-क्लासिङ्ग्, extends (एक्स्टेण्ड्स्) इति कीवर्ड् अपि च मेथड् ओवर्-रैडिङ्ग् इत्येतेषां विषयान् ज्ञास्यामः ।

00:15 अत्र वयम् :

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

JDK 1.7, Eclipse 4.3.1 इत्येतेषां उपयोगं कुर्मः ।

00:25 पाठस्यास्य अभ्यासाय भवद्भ्यः, जावा अपि च एक्लिप्स् ऐ डि इ विषयस्य ज्ञानमावश्यकम् ।
00:32 नास्ति चेत्, तत्सम्बद्धपाठार्थम् अस्माकं जालपुटं पश्यन्तु ।
00:37 आदौ सब् क्लासिङ्ग् नाम किमिति ज्ञास्यामः ।
00:41 इदं विद्यमानेन क्लास् इत्यनेन नूतन-क्लास्-रचनाविधानमस्ति ।
00:46 नूतनतया रचितं क्लास्, “सब् क्लास्” अथवा “डिरैव्ड् क्लास्” अथवा “चैल्ड् क्लास्” इति कथ्यते ।
00:53 पूर्वं वर्तमानं क्लास्, “सूपर् क्लास्” अथवा “बेस् क्लास्” अथवा “पेरेण्ट् क्लास्” इति कथ्यते ।
01:00 अधुना सब् क्लास् कथं रचनीयमिति भवद्भ्यः दर्शयामि । अहम् पूर्वमेव MyProject (मै प्रोजेक्ट्) नाम्नः एकं प्रोजेक्ट् रचितवानस्मि ।
01:10 तस्मिन्, Employee इति क्लास् रचितवानस्मि ।
01:15 इदं name तथा email_address इति द्वे वेरियेबल्स् प्राप्तवदस्ति ।
01:19 इदं, क्लास्-इत्यस्मै setter (सेट्टर्) अपि च getter (गेट्टर्) इति द्वे मेथड्स् अपि प्राप्तवदस्ति ।
01:24 अत्र "getDetails()" इति मेथड् अस्ति । इदं मेथड् , name अपि च email_address इतीमे प्रत्यर्पयति ।
01:31 वयमधुना Manager क्लास् प्रति आगच्छाम ।
01:35 इदं name, email_address अपि च department नाम्नां वेरियेबल्स् प्राप्तवदस्ति ।
01:40 कानिचन वेरियेबल्स् , Employee अपि च Manager इति द्वयोः क्लास्-मध्ये अस्तीति ज्ञायते ।
01:47 name अपि च email_address इतीमे Employee क्लास् मध्ये स्तः । इमानि Manager मध्येऽपि स्तः इत्यस्माभिः ज्ञायते ।
01:57 अतः, Manager क्लास् इतीदं Employee क्लास् इत्यस्य सब्-क्लास् कर्तुं शक्नुमः ।
02:03 अतोऽस्माभिः Manager क्लास्-मध्ये कानिचन परिवर्तनानि करणीयानि ।
02:08 public class Manager इत्यस्यानन्तरं, “extends Employee” इति टङ्कयन्तु ।
02:14 अधुना विद्यमानेन क्लास्-इत्यनेन सब्-क्लास् रचयितुं, अस्माभिः “extends” इति कीवर्ड् उपयुज्यते ।
02:21 द्वयोः क्लास्-मध्ये वर्तमानं वेरियेबल्-प्रतिकृतिं निष्कासयन्तु ।
02:26 एवं, Manager क्लास्-तः, name अपि च email_address इतीमे निष्कासयन्तु ।
02:32 तथा च, अत्र setter अपि च getter मेथड्स् निष्कासयन्तु ।
02:37 Manager क्लास्-मध्ये, अस्माकं पार्श्वे department इति वेरियेबल् अस्ति ।
02:43 department इत्यस्यार्थं, वयं setter अपि च getter मेथड्स् प्राप्तवन्तः ।
02:49 एवं Manager क्लास्, Employee क्लास्-इत्यस्य सदस्यान् इन्हेरिट् करोति ।
02:55 एकस्मात् क्लास्-तः अन्यं क्लास् इत्यस्य “extend” क्रियमाणं विधानं सिङ्गल्-इन्हेरिटेन्स् इति कथ्यते ।
03:02 अहं 'TestEmployee' इति नामकस्य अन्यं क्लास् रचितवानस्मि ।
03:08 main मेथड् इत्यस्यान्तः, वयं Manager क्लास् इत्यस्य ओब्जेक्ट् रचयामः ।
03:14 main मेथड् इत्यस्यान्तः, एवं टङ्कयन्तु : Manager manager equal to new Manager parentheses.
03:23 पश्चात् , Manager क्लास् इत्यस्य setter मेथड्स् काल् कुर्मः ।
03:28 अतः एवं टङ्कयन्तु : manager dot setName within brackets and double quotes Nikkita Dinesh.
03:38 पश्चात् एवं टङ्कयन्तु : manager dot setEmail within brackets and double quotes abc at gmail dot com.
03:49 पश्चात् एवं टङ्कयन्तु : manager dot setDepartment within brackets and double quotes Accounts.
03:57 भवन्तः यत्किमपि name, email_address अपि च department उपयोक्तुमर्हन्ति ।
04:02 वयमधुना Manager ओब्जेक्ट् उपयुज्य, "getDetails()" मेथड् काल् कुर्मः ।
04:08 एवं टङ्कयन्तु : System.out.println within brackets manager dot getDetails.
04:17 अधुना प्रोग्राम् सेव् कृत्वा रन् कुर्मः ।
04:21 वयमेवं फलितं प्राप्नुमः -

Name: Nikkita Dinesh

Email: abc@gmail.com

04:30 अत्र, Manager क्लास् इत्यस्य ओब्जेक्ट्, getDetails() मेथड् काल् करोति ।
04:36 अधुना, Manager क्लास् प्रति आगच्छन्तु ।
04:39 अत्र "getDetails()" मेथड् नास्तीति अस्माभिः ज्ञायते ।
04:43 ततोऽपि फलितं मिलितम् । यतो हि , Manager क्लास्, Employee क्लास् इतीदं extend करोति ।
04:52 Manager क्लास्, Employee क्लास्-इत्यस्य वेरियेबल्स् तथा मेथड्स् च स्वयमेव इन्हेरिट् करोति ।
04:59 अतः इदं, पेरेण्ट्-क्लास् Employee क्लास्-मध्ये वर्तते ।
05:04 अधुना Employee क्लास् प्रति आगच्छाम । अत्र getDetails() मेथड् अस्ति ।
05:11 वयं department इतीदं रिटर्न् न कृतवन्तः । अतः अनेन फलिते department इत्यस्य प्रिण्ट् न कृतम् ।
05:20 अधुना, getDetails() मेथड् इतीदं private इत्यस्मै परिवर्तयामः । सञ्चिकां रक्षन्तु ।
05:27 'TestEmployee' क्लास् मध्ये अस्माभिः कम्पैलेशन्-एरर् प्राप्यते ।
05:34 तदेवं वदति : "The method getDetails() from the type Employee is not visible".
05:40 अस्यार्थः, getDetails() मेथड् इत्यस्योपयोगः असाध्यः ।
05:45 अस्य कारणं, वयं getDetails() मेथड् इतीदं private इति डिक्लेर् कृतवन्तः ।
05:52 सब् क्लास्, तस्य सूपर्-क्लास् इत्यस्य, प्रैवेट्-मेम्बर्स् इतीमानि इन्हेरिट् न करोति ।
05:58 सब्-क्लास् इत्यस्मै, सूपर्-क्लास् इत्यस्य, प्रैवेट् मेम्बर्स् इतीमानि साक्षात् उपयोक्तुम् असाध्यम् ।
06:04 सूपर्-क्लास्, पब्लिक् अथवा प्रोटेक्टेड् मेथड्स् प्राप्तं स्यात् ।
06:09 इमानि मेथड्स्, तेषां प्रैवेट्-फील्ड्स् उपयोक्तुमर्हन्ति ।
06:13 इमानि मेथड्स् द्वारा, सब् क्लास् अपि , प्रैवेट्-फील्ड्स् उपयोक्तुमर्हन्ति ।


06:18 वयमिदं पुनः पब्लिक् इत्यस्मै परिवर्तयामः ।
06:21 अधुना मेनेजर् क्लास् मध्ये getDetails() मेथड् संयोजयाम ।
06:27 इदं मेथड् , name, email_address तथा department इतीमानि च प्रत्यर्पयति ।
06:33 एवं टङ्कयन्तु : public String getDetails parentheses.
06:39 मेथड् इत्यसान्तः एवं टङ्कयन्तु : return within brackets Name plus getName() plus slash n plus Email plus getEmail() plus slash n plus Manager of plus getDepartment() semicolon.

सञ्चिकां रक्षन्तु ।

07:07 अधुना Manager अपि च Employee द्वयोः क्लास् मध्ये , getDetails() मेथड् अस्तीति अवगच्छन्तु ।
07:15 द्वयोः क्लास्-मद्ये, मेथड् नेम्, रिटर्न् टैप्, आर्ग्यूमेण्ट् लिस्ट् च एकैव अस्ति ।
07:22 यदि, नाम, रिटर्न् टैप्, आर्ग्यूमेण्ट् लिस्ट् च एकैव अस्ति तर्हि , सब्-क्लास्-मध्यस्थेन मेथड् द्वारा, पेरेण्ट् क्लास् इत्यस्य मेथड् इतीदं, ओवर् रैड् जातमित्यर्थः ।
07:33 Manager क्लास् प्रति आगच्छन्तु ।
07:36 getDetails() मेथड् पृष्टे @Override इति टङ्कयन्तु ।
07:43 इदमेकं ओवर्-रैड् इत्यस्य टिप्पणी वर्तते । इदम् एकं मेथड्, सूपर्-क्लास् इत्यस्य एकं मेथड् ओवर-रैड् कर्तुमुद्दिष्टः इति सूचयति ।
07:53 अधुना अनोटेशन् नाम किमिति ज्ञास्यामः ।
07:57 अनोटेशन्स् -

(@) चिह्नेन सह आरभन्ते ,

एकस्मै प्रोग्राम् इत्यस्मै डेटा यच्छन्ति,

कोड्-कार्यविधाने तेषां साक्षात् परिणामाः न विद्यन्ते ।

08:10 एकं मेथड् इतीदं @Override इति अनोटेशन् क्रियते चेत् -

एकं मेथड्, सूपर् क्लास् मध्ये डिक्लेर् कृतं मेथड् इतीदम् ओवर्-रैड् कृते,

08:23 अपि च मेथड् सिग्नेचर्, तस्य सूपर् क्लास्-मध्ये अन्यद्वर्तते चेत् , कम्पैलर् दोषं दर्शयति ।
08:28 अधुना वयं, “ऐ डि इ” प्रति गच्छाम । Manager क्लास् प्रति आगच्छतु ।
08:34 (@) चिनं, आगमिष्यमाणम् अनोटेशन् वर्तते इति कम्पैलर् इत्यस्मै सूचयति ।
08:42 अत्र, getDetails() मेथड् ओवर्-रैड् जातमिति इदं दर्शयति ।
08:48 वयं 'TestEmployee' क्लास् प्रति गच्छाम ।
08:51 सञ्चिकां रक्षित्वा प्रोग्राम् रन् करोतु ।
08:55 अधस्तन फलितं वयं प्राप्नुमः ।

Name: Nikkita Dinesh

Email: abc@gmail.com

Manager of Accounts

09:05 अत्र, Manager क्लास् इत्यस्य ओब्जेक्ट्, getDetails() मेथड् इतीदं काल् करोति ।
09:11 परन्तु तदधुना Manager क्लास् इत्यस्य मेथड् काल् करोति ।
09:16 एवं पेरेण्ट् क्लास् इत्यस्य मेथड् इतीदं, सब्-क्लास् ओवर्-रैड् करोति ।
09:23 सङ्क्षेपेण पाठेऽस्मिन् वयम्,

सब् क्लासिङ्ग् तथा मेथड् ओवर्-रैडिङ्ग् विषयञ्च ज्ञातवन्तः ।

09:31 एकं पाठनियोजनम् :

Vehicle इति क्लास् रचयन्तु । तत्र , “The vehicle is running” इति मुद्रापयितुं run इत्येकं मेथड् स्यात् ।

09:40 तथैव, Bike इत्येकं क्लास् रचयन्तु । तत्र , “The Bike is running safely” इति मुद्रापयितुं run नाम्नः एकं मेथड् भवेत् ।
09:48 फलितम् एवं वर्तेत : “The Bike is running safely”
09:52 स्पोकन् ट्युटोरियल् विषये अधिकविवरणं प्राप्तुं लिङ्क् मध्यस्थं चलच्चित्रं पश्यन्तु । तत्र स्पोकन् ट्युटोरियल् योजनासारः वर्तते । उत्तमं बेण्ड्-विड्त् नास्ति चेत्तदवचित्य दृष्टुमर्हन्ति ।
10:06 स्पोकन् ट्युटोरियल् प्रकल्पगणः :

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

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

http://spoken-tutorial.org/NMEICT-Intro

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

Contributors and Content Editors

NaveenBhat, Sandhya.np14