Java/C3/Java-Interfaces/Sanskrit

From Script | Spoken-Tutorial
Jump to: navigation, search
Time
Narration
00:01 Java Interfaces इति विषयकस्य स्पोकन् ट्युटोरियल् प्रति स्वागतम् ।
00:05 पाठेऽस्मिन् वयं, interface इत्यस्य रचनाविधानम्,
00:10 Implementation classes इत्यस्य रचना अपि च Interface इत्यस्य विनियोगविषयञ्च ज्ञास्यामः ।
00:16 पाठार्थमहम् ,

Ubuntu 12.04

JDK 1.7 अपि च

Eclipse 4.3.1 इतीमान्युपयुञ्जे ।

00:28 पाठमिमम् अनुसर्तुं भवद्भिः Java अपि च Eclipse IDE इत्यनयोः ज्ञानं प्राप्तं स्यात् ।
00:36 तथा च subclassing अपि च जावा मध्ये Abstract classes इतीमे च ज्ञातं भवेत् ।
00:42 नास्ति चेत् तत्सम्बद्धपाठार्थम् अधस्तन लिङ्क् पश्यन्तु ।
00:48 वयमादौ interface नाम किमिति जानाम ।
00:52 एकम् इण्टर्फ़ेस् abstract methods अपि च static data members इत्येतेषां समूहेन युतम् भवति ।
00:58 इदं methods इत्येतेषां समूहानां सिग्नेचर्स् इतीमानि, विना शरीरं डिफ़ैन् करोति ।
01:04 interface कीवर्ड् उपयुज्य अस्य डिक्लरेशन् क्रियते ।
01:08 वयमधुना एक्लिप्स्प्रति गत्वा InterfaceDemo नाम्नः नूतनं प्रोजेक्ट् रचयाम ।
01:15 वयमत्र, इण्टर्फ़ेसस् इत्येतेषां विनियोगं ज्ञातुम् आवश्यकानि क्लासस् अपि च इण्टर्फ़ेसस् रचयाम ।
01:24 src फ़ोल्डर् उपरि रैट्-क्लिक् कृत्वा New > Interface नुदन्तु ।
01:30 name इति फ़ील्ड्-मध्ये Animal इति टङ्कयित्वा एण्टर् नुदन्तु ।
01:34 “interface” कीवर्ड् इतीदम् इण्टर्फ़ेस् इत्यस्य निरूपणं कर्तुम् उपयुज्यते इति ज्ञायते ।
01:39 अधुना पटले यथा दर्शितं तथा कोड् टङ्कयन्तु ।
01:43 अत्र interface इतीदं Animal इति नामकृतम् ।
01:46 इदं त्रीणि एब्स्ट्रेक्ट्-मेथड्स् प्राप्तवदस्ति ; यथा talk(), see()अपि च move()
01:52 इण्टर्फ़ेस्-मध्ये तादृशानि सर्वाणि मेथड्स्उपलक्ष्येण पब्लिक् तथा एब्स्ट्रेक्ट् वर्तन्ते ।
01:59 एकम् इण्टर्फ़ेस्इतीदम् कोन्स्टेण्ट् वेरियेबल् डिक्लरेशन् युतं स्यात्।
02:04 अत्र स्ट्रिङ्ग् इत्यस्य स्थिरमौल्यं, “Mammal” इतीदं वेरियेबल् “type1” इत्यस्मै असैन् जातम् ।
02:12 अपि च “Reptiles” इतीदं “type2” वेरियेबल् इत्यस्मै असैन् कृतम् ।
02:16 सर्वाणि इण्टर्फ़ेस्-मध्ये डिफ़ैन्-कृतानि स्तिर-मूल्यानि यानि सन्ति तानि पब्लिक् स्टेटिक् फ़ैनल् च उपलक्ष्यन्ते ।
02:25 पश्चाद्वयं इण्टर्फ़ेस्-इत्यस्मै implementation class इतीदम् एकेन उदाहरणेन सह पश्यामः ।
02:32 अत्र, Human इतीदमेकं क्लास् वर्तते यच्च Animal इण्टर्फ़ेस् इत्यस्य इम्प्लिमेण्टेशन् करोति ।
02:38 अतः अनेन talk(), see() अपि च move() मेथड्स् इत्येतेभ्यः, इम्प्लिमेण्टेशन्स् दातव्यम् ।
02:45 एकं क्लास् इतीदं multiple interfaces च इम्प्लिमेण्ट् कर्तुं शक्नोति ।
02:49 अत्र उदाहारणे यथा दर्शितं तथा, Human इति क्लास् यदस्ति तत्, Animal अपि च Action इति द्वे इण्टर्फ़ेसस् इम्प्लिमेण्ट् करोति ।
02:57 जानन्तु यत्, एकं कोमा ओपरेटर् इतीदं नाना इण्टर्फ़ेसस् इतीमानि इडेण्टिफ़ै कर्तुं, सिण्टेक्स् मध्ये उपयुज्यते ।
03:04 अधुना क्लास्-इत्यनेन Animal अपि च Action इत्यनयोः क्लासस् मध्ये, सर्वेभ्यः एब्स्ट्रेक्ट् मेथड्स् इत्येतेभ्यः, इम्प्लिमेण्टेशन् दातव्यम् ।
03:13 अत्र दर्शितं चित्रं इम्प्लिमेण्टेशन् इत्यस्य सम्बन्धं सूचयति ।
03:18 Animal क्लास् इतीदमेकं इण्टर्फ़ेस् वर्तते ।
03:22 Human अपि च Snake इति द्वे इम्प्लिमेण्टेशन् क्लासस् वर्तेते ।
03:28 Human क्लास् इतीदं, talk(), see() अपि च move() मेथड्स् इत्येतेभ्यः, स्वकीयं नाना इम्प्लिमेण्टेशन्स् ददाति ।
03:36 अपि च Snake क्लास् इतीदं, talk(), see() अपि च move() मेथड्स् इत्येतेभ्यः, स्वकीयं नाना इम्प्लिमेण्टेशन्स् ददाति ।
03:45 अधुना 'इण्टर्फ़ेसस्' इत्येतेषां विनियोगान् उदाहरणैः सह ज्ञास्यामः ।
03:50 default package इत्यस्योपरि रैट्-क्लिक् कृत्वा Human नाम्नः class रचयन्तु ।
03:56 अधुना इदं Animal इत्यस्य इम्प्लिमेण्टेशन् क्लास् कर्तुं, implements Animal इति टङ्कयन्तु ।
04:04 अधुना 'एक्लिप्स् ऐ डि ई' मध्ये दोषः आगच्छति ।
04:09 दोषः सूचयति यत्, अस्माभिः Animal इण्टर्फ़ेस् इत्यस्मै, इम्प्लिमेण्टेशन् दातव्यम् इति ।
04:15 अधुना दोषनिवारणोपायं पश्यामः ।
04:19 अधुना talk(), see() अपि च move() मेथड्स् डिफ़ैन् कुर्मः ।
04:23 अतः public void talk( ) इति टङ्कयुत्वा कर्लि ब्रेकेट् मध्ये System.out.println इति टङ्कयित्वा क्वोट्स् मध्ये "I am a human and I belong to" इति टङ्कयन्तु ।
04:37 अधुना वयं Animal इण्टर्फ़ेस् मध्ये डिक्लेर्-कृतस्य, स्टेटिक् फ़ैनल् वेरियेबल् टैप् 1 इत्यस्य मूल्यम् उपयोक्तुं शक्नुमः ।
04:45 अतः + Animal.type1+ इति टङ्कयित्वा क्वोट्स् मध्ये "family" सेमिकोलन् इति टङ्कयन्तु ।
04:54 अधुना see() मेथड् इतीदम् इम्प्लिमेण्ट् कुर्मः ।
04:57 अतः public void see( )इति टङ्कयित्वा कर्लि ब्रेकेट् मध्ये, System.out.println इति टङ्कयित्वा क्वोट्स् मध्ये "I can see all colors" सेमिकोलन् इति टङ्कयन्तु ।
05:11 अस्माभिः move() मेथड् अपि डिफ़ैन् करणीयम् ।
05:14 अतः public void move( )इति टङ्कयित्वा, कर्लि ब्रेकेट्-मध्ये System.out.println इति टङ्कयित्वा क्वोट्स्-इत्यस्यान्तः "I move by walking" सेमिकोलन् च टङ्कयन्तु ।
05:29 यदा मेथड्स् इम्प्लिमेण्ट् जायते तदा, दोषः तिरो भवति ।
05:34 पश्चाद्वयं स्नेक् क्लास् इतीदं डिफ़ैन् कर्तुं जानाम ।
05:38 मम प्रकल्पः निर्मितः मया ।
05:42 प्रकल्पे snake इति क्लास् रचयित्वा अधस्तन कोड् लिखन्तु ।
05:49 अधुना वयं कोड् जानाम ।
05:52 पश्यामः यत्, Animal interface इत्यस्य सर्वाणि मेथड्स्, नाम - talk(), see() अपि च move() इतीमानि क्लास् मध्ये इम्प्लिमेण्ट् जातानि ।
06:01 अत्र talk() मेथड् इतीदं “I am a snake and I belong to” इति मुद्रापयति ।
06:07 पश्चात् Animal.type2 इत्यस्य मूल्यम् मुद्रापितव्यम् , पश्चात् “family” इतीदम् ।
06:13 अत्र see()मेथड् इतीदं “I can see only in black and white” इति मुद्रापयति ।
06:19 move() मेथड् इतीदम् "I move by crawling" इति मुद्रापयति ।
06:23 जानन्तु यत्, Human क्लास् इतीदं, talk(), see() अपि च move() मेथड्स् इत्येतेषां स्वकीयम् इम्प्लिमेण्टेशन् प्राप्तवदस्ति ।
06:31 अपि च Snake क्लास् इतीदं, talk(), see() अपि च move() मेथड्स् इत्येतेषां स्वकीयम् इम्प्लिमेण्टेशन् प्राप्तवदस्ति ।
06:39 अधुना default package इत्यस्योपरि रैट्-क्लिक् कृत्वा, new > class नुत्वा, name इतीदं Demo इति टङ्कयन्तु ।
06:47 अस्मिन् क्लास्मध्ये वयम्, main मेथड् प्राप्नुमः ।
06:51 अतः main इति टङ्कयित्वा, mainमेथड् रचयितुं ctrl+space नुदन्तु ।
06:58 पटले यथा दर्शितं तथा अधस्तन कोड् टङ्कयन्तु ।
07:01 अस्मिन् पङ्क्तौ वयं Animal इण्टर्फ़ेस् उपयुज्य, Human क्लास् इतीदं इन्स्टेन्शियेट् कुर्मः ।
07:07 इदमेवं सूचितम् Animal h equals new Human();
07:14 अधुना वयं इदं ओब्जेक्ट् इतीदं h.talk(); h.see(); h.move(); इति उपयुज्य, नाना मेथड्स् इन्वोक् कर्तुं शक्नुमः ।
07:26 पश्चाद्वयं Animal इण्टर्फ़ेस् उपयुज्य, Snake क्लास् इन्स्टान्शियेट् कुर्मः ।
07:31 अधुना वयम् इदं ओब्जेक्ट् उपयुज्य नाना मेथड्स् इन्वोक् कर्तुं शक्नुमः ।
07:38 अधुना इदं डेमो प्रोग्राम् इतीदं रन् कुर्मः ।
07:41 अतः Demo क्लास् इत्यस्योपरि रैट्-क्लिक् कृत्वा Run as > Java Application इतीदं चिनुमः ।
07:48 वयं फलितं दृष्टुं शक्नुमः ।
07:52 इमानि , human class object h द्वारा इन्वोक् जातैः , talk(), see() अपि च move() मेथड्स्-इत्येतैः मुद्रितानि ।
08:00 इमानि Snake class object s, द्वारा इन्वोक् जातैः , talk(), see() अपि च move() मेथड्स्-इत्येतैः मुद्रितानि ।
08:08 वयमधुना interfaceअपि च abstract class अनयोर्मध्ये, व्यस्त्यासान् पश्यामः ।
08:14 एकस्मिन् इण्टर्फ़ेस् मध्ये सर्वाणि मेथड्स् इतीमानि abstract भवेत् ।
08:18 इण्टर्फ़ेस् मध्ये न किञ्चित् constructors,
08:23 concrete methods, static methods अथवा main method च न भवेयुः ।
08:28 परन्त्वेकम् abstract class एतानि सर्वाणि प्राप्तुं शक्नोति ।
08:32 इण्टर्फ़ेस् मध्ये सर्वाणि वेरियेबल्स् static अपि च final भवेयुः ।
08:38 abstract class इत्यस्मै एतादृशाः मर्यादाः न वर्तन्ते ।
08:43 अनेन वयं पाठस्यान्तमागतवन्तः । सारं पश्यामः ।
08:48 पाठेऽस्मिन् वयं अधोनिर्दिष्ट-विषयान् ज्ञातवन्तः Interface इत्यस्य रचना
08:53 implementation class इत्यस्य रचना अपि च
08:56 interfaces इत्यस्योपयोगश्च ।
08:59 पाठनियोजनम् - Vehicle इति इण्टर्फ़ेस् रचयन्तु । तत्तु brake() अपि च run() मेथड्-युतं भवेत् ।
09:07 Fuel नाम्नः अन्यमेकम् इण्टर्फ़ेस् रचयन्तु ; यत् अधस्तन मेथड्स् प्ताप्तवत् स्यात् - fill(String type,int quantity), pay(int quantity,int price).
09:19 Car इत्येकं सब्-क्लास् रचयन्तु येन Vehicle अपि च Fuel इति द्वे इण्टर्फ़ेसस् इम्प्लिमेण्ट् भविष्येते ।
09:26 अत्र, brake मेथड् इतीदं "Car Applies Power brake" इति मुद्रापयेत् ।
09:30 अपि च run मेथड् इतीदं "Car is running on 4 wheels" इति मुद्रापयेत् ।
09:35 तथैव fill()मेथड् इतीदं, इन्धनस्य प्रकारं परिमाणञ्च मुद्रापितुं शक्तः भवेत् ।
09:41 उदाहरणार्थम् : 10 Litres of petrol.
09:44 pay() मेथड् इतीदं दीयमानमूल्यमुद्रापणाय उपयोक्तुमर्हति । तद्यथा : Pay Rs. 640
09:53 Bike नाम्नः अन्यं सब्क्लास् रचयन्तु, येन पुनः Vehicle अपि च Fuel इति द्वे इण्टर्फ़ेसस् इम्प्लिमेण्ट् भविष्येते ।
10:00 अत्र brake मेथड् "Bike Applies hand brake" इति मुद्रापितुं शक्नोति ।
10:05 अपि च run मेथड् “Bike is running on 2 wheels” इति मुद्रापितुं शक्नोति ।
10:10 पश्चात् पूर्वोक्तप्रकारेण, fill() अपि च pay() मेथड्स् इम्प्लिमेण्ट् करोतु ।
10:15 अन्ते फलितं परीक्षितुं, mainमेथड्-युतं Demoक्लास् रचयन्तु ।
10:21 स्पोकन् ट्युटोरियल् विषये अधिकविवरणं प्राप्तुं लिङ्क् मध्यस्थं चलच्चित्रं पश्यन्तु । अवचित्यापि दृष्टुं शक्यते तत् ।
10:29 स्पोकन् ट्युटोरियल् प्रकल्पगणः कार्यशालां चालयति अपि च , अन्तर्जालीयपरीक्षायाम् उत्तीर्णेभ्यः प्रमाणपत्रं च यच्छति ।
10:38 अधिकविवरणं प्राप्तुं अधस्तन पर्चन्यै लिखन्तु ।
10:41 स्पोकन् ट्युटोरियल् प्रकल्पः, राष्ट्रिय साक्षरता मिशन्, ICT, MHRD द्वारा भारतसर्वकारस्य अनुदानं प्राप्तवानस्ति ।
10:48 अधिकविवरणार्थम् अधस्तन लिङ्क् पश्यन्तु ।
10:52 पाठस्य योगदानम् Dept. of Information Technology, Amal Jyothi College of Engineering द्वारा कृतम् ।
11:01 अनुवादकः प्रवाचकश्च श्री नवीनभट्टः उप्पिनपट्टणम् । धन्यवादाः ।

Contributors and Content Editors

NaveenBhat, Sandhya.np14