Advanced-Cpp/C2/Inheritance/Malayalam

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:01 Inheritance in C++ എന്ന സ്പോകെൻ ട്യൂട്ടോറിയലിലേക്ക് സ്വാഗതം.
00:06 ഇവിടെ പഠിക്കുന്നത്.
00:09 ഇന്‍ഹെറിറ്റന്‍സ്വിവിധ തരത്തിലുള്ള ഇന്‍ഹെറിറ്റന്‍സ്
00:12 ഒരു ഉദാഹരണത്തിൻറെ സഹായത്തോടെ നമുക്ക് ഇത് പഠിക്കാം.
00:16 ഇതിനായി ഉപയോഗിക്കുന്നത്,
00:19 ഉബുണ്ടു OS version 11.10
00:24 g++ കമ്പൈലർ version 4.6.1
00:28 ഇന്‍ഹെറിറ്റന്‍സ്നെ കുറിച്ചാണ് നമ്മൾ ഇപ്പോൾ പഠിക്കുന്നത്.
00:32 ഒരു ഒബ്ജെക്റ്റ് മറ്റൊരു ഒബ്ജെക്റ്റിന്‍റെ സവിശേഷതകള്‍ നേടിയെടുക്കുനതിനെ inheritance എന്ന് പറയുന്നു.
00:38 നിലനില്ക്കുന ഒരു ക്ലാസ്സിനെ മാറ്റങ്ങള്‍ വരുത്താതെ വീണ്ടും ഉപയോഗിക്കുന്ന പ്രവര്‍ത്തനമാണിത്.
00:44 വിവിധ തരത്തിലുള്ള ഇന്‍ഹെറിറ്റന്‍സ് സിംഗിള്‍ ലെവല്‍ ഇന്‍ഹെറിറ്റന്‍സ്
00:48 മള്‍ട്ടിപിള്‍ ലെവല്‍ ഇന്‍ഹെറിറ്റന്‍സ്
00:50 ഹൈറാർക്കികൽ ഇന്‍ഹെറിറ്റന്‍സ്
00:52 മള്‍ട്ടിലെവല്‍ ഇന്‍ഹെറിറ്റന്‍സ്
00:55 ഹൈബ്രിഡ് ഇന്‍ഹെറിറ്റന്‍സ്
00:57 ആദ്യം നമ്മുക്ക് base class ഉം derived class ഉം എന്താണെന്ന് നോക്കാം.
01:02 ഒരു ബേസ് ക്ലാസ്സിന് അതിന്‍റെതായ ചില സവിശേഷതകളും പ്രത്യേകതകളും ഉണ്ട്.
01:06 parent class എന്നും ഇതിനെ വിളിക്കുന്നു.
01:09 എല്ലാ ഒബ്ജെക്റ്റ്സ്നും പിന്‍തുടരാന്‍ കഴിയുന്ന ചില പൊതുവായ പ്രത്യേകതകള്‍ ഇതിനുണ്ട്.
01:14 derived classനെ child class എന്ന് പറയുന്നു.
01:18 Derived class base classന്‍റെ സവിശേഷതകളും പ്രത്യേകതകളും പിന്‍തുടരുന്നു.
01:23 single level inheritance എന്നാല്‍ എന്താണ് എന്ന് നോക്കാം.
01:27 single level inheritanceല്‍, ഒരുbase classഉം ഒരു derived classഉം മാത്രമേ ആവശ്യമുള്ളു.
01:34 Multiple inheritance
01:37 multiple inheritanceല്‍ , derived class ഒന്നില്‍ കൂടുതല്‍ base classകളെ ഇന്‍ഹെറിറ്റ് ചെയുന്നു.
01:44 Hierarchical Inheritance
01:47 Hierarchical Inheritanceല്‍ , ഒന്നില്‍ കൂടുതല്‍ derived classes ഒരു base classല്‍ നിന്ന് ഇന്‍ഹെറിറ്റ് ചെയ്യുന്നു.
01:55 Multilevel inheritance
01:57 Multilevel inheritanceല്‍ ഒരു sub class മറ്റൊരു ക്ലാസ്സിന് base class ആയി മാറുന്നു.
02:05 Hybrid inheritance
02:08 hybrid inheritanceല്‍ വിവിധ തരത്തിലുള്ള ഇന്‍ഹെറിറ്റന്‍സ് ഒന്നിച്ച്‌ ചേര്‍ത്തിരിക്കുന്നു.
02:14 ഇനി നമുക്ക് single level inheritanceന്‍റെ ഒരു ഉദാഹരണം നോക്കാം.
02:18 എഡിറ്ററിൽ ഞാൻ നേരത്തേ എഴുതിയിട്ടുള്ള കോഡ് ആണ് നമ്മൾ ഇപ്പോൾ കാണുന്നതു.
02:21 ഞാൻ കോഡ് വിശദീകരിക്കാം.
02:23 നമ്മുടെ ഫയലിൻറെ പേര് exam_inherit.cpp
02:28 ഈ ഉദാഹരണത്തില്‍ ഒരു സ്റ്റൂഡൻറ്റിന്‍റെ പേര്, റോള്‍ നമ്പര്‍, മാര്‍ക്ക്‌ ഇവ കാണുവാനുള്ള പ്രോഗ്രാമാണ് നമ്മള്‍ ചെയ്യുനത്.
02:35 iostream എന്നത് ഒരു ഹെഡർ ഫയൽ ആണ്.
02:38 ഇവിടെ നാം STD namespace ഉപയോഗിക്കുന്നു.
02:42 ഇവിടെ നമ്മുക്ക് student എന്ന class ഉണ്ട്.
02:44 student എന്ന ക്ലാസ്സിന്‍റെ പ്രൈവറ്റ് മെംബേര്‍സായി ഇൻറ്റജർ വാരിയബിള്‍ roll noഉം character array nameഉം ഉണ്ട്.
02:53 student എന്ന ക്ലാസ്സിന്‍റെ രണ്ട് പബ്ലിക്‌ ഫങ്ഷൻസാണ് input , display .
02:59 input ഫങ്ഷൻ ഉപയോഗിക്കുനത് സ്റ്റൂഡൻറ്റിന്‍റെ nameഉം rollnoഉം സ്വീകരിക്കാനാണ്.
03:06 display ഫങ്ഷൻ ഉപയോഗിക്കുനത് സ്റ്റൂഡൻറ്റിന്‍റെ nameഉം rollnoഉം സ്ക്രീനില്‍ കാണിക്കാനാണ്.
03:11 ഇവിടെ നമ്മുക്ക് exam_inherit എന്ന മറ്റൊരു ക്ലാസ്സുണ്ട്.
03:16 ഇത് ഒരു derived class ആണ്.
03:18 ഇത് student എന്ന ക്ലാസ്സിന്‍റെ ഫങ്ഷനും ഡാറ്റയും ഇന്ഹെരിറ്റ് ചെയ്യുന്നു.
03:23 exam_inherit എന്ന ക്ലാസ്സിന്‍റെ പ്രൈവറ്റ് വരിയബിള്‍സായി sub1, sub2, sub3, total എന്നിവയെ ഡിക്ലയെര്‍ ചെയ്യുന്നു.
03:33 ഇവിടെ നമ്മുക്ക് input_exam, display_exam എന്ന രണ്ട് പബ്ലിക്‌ ഫങ്ഷൻസുണ്ട്.
03:41 ഇവിടെ നമ്മള്‍ exam_inherit എന്ന ക്ലാസ്സ്‌ അടക്കുന്നു.
03:44 input_exam എന്ന ഫങ്ഷൻ ഉപയോഗിച്ച് മൂന്ന് സബ്ജക്റ്റിന്‍റെ മാര്‍ക്ക്‌ നമ്മള്‍ സ്വീകരിക്കുന്നു.
03:52 ഇവിടെ display_exam എന്ന ഫങ്ഷൻ ഉപയോഗിച്ച് മൂന്ന് സബ്ജക്റ്റിന്‍റെയും ആകെ മാര്‍ക്ക് കണ്ടുപിടിക്കുന്നു.
03:59 അത് പ്രിന്‍റ് ചെയ്യുന്നു.
04:01 ഇത് നമ്മുടെ മെയിൻ ഫംഗ്ഷൻ ആണ്.
04:03 ഇവിടെ നമ്മള്‍ exam_inherit എന്ന ക്ലാസ്സിന് ex എന്ന ഒബ്ജക്റ്റ് ക്രിയേറ്റ് ചെയ്യുന്നു.
04:10 അതിനുശേഷം ex എന്ന ഒബ്ജെക്റ്റ് ഉപയോഗിച്ച് എല്ലാ ഫങ്ഷൻസിനെയും വിളിക്കുന്നു.
04:15 ഇത് ഒരു return സ്റ്റേറ്റ്മെന്‍റൊണ്.
04:18 ഇനി നമ്മുക്ക് പ്രോഗ്രാം എക്സിക്യൂട്ട് ചെയ്യാം.
04:20 നിങ്ങളുടെ കീബോർഡിൽ ഒരേസമയത്ത് Ctrl + Alt + T കീകൾ അമർത്തി ടെർമിനൽ വിൻഡോ തുറക്കുക.
04:30 കമ്പൈൽ ചെയ്യാൻ g++ സ്പേസ് exam_inherit ഡോട്ട് cpp സ്പേസ് ഹൈഫൻ o സ്പേസ് exam എന്ന് എഴുതുക.
04:41  എൻറ്റർ അമർത്തുക. ./exam(ഡോട്ട് സ്ലാഷ് exam) എന്ന് ടൈപ്പ് ചെയ്യുക. എൻറ്റർ അമർത്തുക.
04:46 നമ്മള്‍ കാണുന്നത്,Enter Roll no.:
04:49 ഞാന്‍ 1 എന്ന് കൊടുക്കുന്നു.
04:51 'Enter Name:ഞാന്‍ Arya എന്ന് കൊടുക്കുന്നു.
04:55 Enter marks of subject1
04:57 60 എന്ന് കൊടുക്കുന്നു.
05:00 subject 2 ന് 70.
05:02 അതുപോലെ, subjec 3 ന് “’ 80.
05:06 നമ്മുക്ക് കിട്ടുന്ന ഔട്ട്പുട്ട് :
05:08 'Roll no is: 1'Name is: Arya
05:11 Total is: 210
05:13 ഇനി നമ്മുക്ക് multilevel inheritance എങ്ങനെയെന്ന് നോക്കാം.
05:18 എഡിറ്ററിൽ ഞാൻ നേരത്തേ എഴുതിയിട്ടുള്ള കോഡ് ആണ് നമ്മൾ ഇപ്പോൾ കാണുന്നതു.
05:22 നമ്മുടെ ഫയല്‍ നെയിം multilevel.cpp.
05:28 ഞാന്‍ total എന്ന ഒരു വരിയബിള്‍ ഡിക്ലയര്‍ ചെയ്തിട്ടുണ്ട്.
05:32 ഇത് exam_inherit എന്ന ക്ലാസ്സിന്‍റെ പബ്ലിക്‌ വരിയബിള്‍ ആണ്.
05:38 derived classല്‍ പ്രൈവറ്റ് വരിയബിള്‍ ഉപയോഗിക്കാന്‍ കിഴിയാത്തതുകൊണ്ടാണ് പബ്ലിക്‌ ആയി ഡിക്ലയര്‍ ചെയ്തിരിക്കുന്നത്.
05:44 നമ്മുക്ക് grade എന്ന മറ്റൊരു ക്ലാസ്സ്‌ ഉണ്ട്.
05:49 ഇത് exam_inherit എന്ന ക്ലാസ്സിനെ ഇന്‍ഹെറിറ്റ് ചെയ്യുന്നു.
05:53 grade എന്ന ക്ലാസ്സ്‌ ഒരു derived class ആണ്.
05:56 അതുപോലെ grade എന്ന ക്ലാസ്സിന്‍റെ base class ആണ് exam_inherit എന്ന ക്ലാസ്സ്.
06:02 exam_inherit എന്ന ക്ലാസ്സിന്‍റെ എല്ലാ ഫങ്ഷൻസും ഡാറ്റയും grade എന്ന ക്ലാസ്സ്‌ ഇന്‍ഹെറിറ്റ് ചെയ്യുന്നു.
06:11 ഇവിടെ നമ്മള്‍ grade എന്ന ക്ലാസ്സിന് avg എന്നൊരു പ്രൈവറ്റ് മെംബര്‍ ഡിക്ലയര്‍ ചെയ്യുന്നു.
06:17 അതുപോലെ average എന്നൊരു പബ്ലിക്‌ ഫങ്ഷനും.
06:21 ക്ലാസ്സ്‌ ഇവിടെ അടക്കുന്നു.
06:23 average ഫങ്ഷൻ ഉപയോഗിക്കുന്നത് ശരാശരി മാര്‍ക്ക്‌ അറിയാനാണ്.
06:27 ഇവിടെ average പ്രിന്‍റ് ചെയ്യുന്നു.
06:30 ഇപ്പോള്‍ നമ്മള്‍ മെയിന്‍ ഫങ്ഷനുള്ളില്‍ grade എന്ന ക്ലാസ്സിന് gd എന്ന ഒബ്ജെക്റ്റ് ക്രിയെറ്റ് ചെയ്യുന്നു.
06:36 gd എന്ന ഒബ്ജെക്റ്റ് ഉപയോഗിച്ച് എല്ലാ ഫങ്ഷൻസിനെയും വിളിക്കുന്നു.
06:40 gd.input()
06:42 input_exam
06:44 'display'display_examഅതുപോലെതന്നെ average
06:49 ഇതാണ് നമ്മുടെ return സ്റ്റേറ്റ്മെന്‍റ്.
06:52 ഇവിടെ നമ്മുക്ക് കാണാം grade എന്നത് ഒരു derived class ആണ്.
06:56 അതുപോലെ exam_inherit എന്നത് “grade”’ എന്ന ക്ലാസ്സിന്‍റെ ഒരു “’base class”’ ആണ്.
07:01 എന്നാല്‍ ഇവിടെ exam_inherit എന്നത് ഒരു derived class ആണ്.
07:06 അതുപോലെ student എന്നത് exam_inherit എന്ന ക്ലാസ്സിന് ഒരു base class ആണ്.
07:12 ഇനി നമ്മുക്ക് പ്രോഗ്രാം എക്സിക്യൂട്ട് ചെയ്യാം.
07:14 നമ്മുക്ക് ടെര്‍മിനലിലേക്ക് തിരിച്ചു പോകാം.
07:17 കമ്പൈൽ ചെയ്യാൻ g++ സ്പേസ് multilevel.cpp സ്പേസ് ഹൈഫൻ o സ്പേസ് mul എന്ന് എഴുതുക.
07:26  എൻറ്റർ അമർത്തുക.
07:27  ./mul (ഡോട്ട് സ്ലാഷ് mul) എന്ന് ടൈപ്പ് ചെയ്യുക.
07:30  എൻറ്റർ അമർത്തുക.
07:32 ഇവിടെ നമ്മള്‍ കാണുന്നത്, Enter Roll no.:
07:34 ഞാന്‍ 2 എന്ന് എന്‍റ്റര്‍ ചെയ്തു.
07:36 Enter Name:
07:38 ഞാന്‍ Pratham എന്ന് കൊടുക്കുന്നു.
07:41 Enter marks of subject1
07:43 65 എന്ന് കൊടുക്കുന്നു.
07:46 subject2 ന് 67എന്നും ,
07:48 subject3 ക്ക് 82 എന്നും കൊടുക്കുന്നു.
07:52 നമ്മുക്ക് കിട്ടുന്ന ഔട്ട്പുട്ട് :
07:54 Roll no is: 2
07:56 'Name is: Pratham 'Total is: 214
07:59 Average is: 71 എന്നായിരിക്കും.
08:01 ഈ ടൂട്ടോറിയൽ ഇവിടെ അവസാനിക്കുന്നു.
08:05 നമ്മുക്ക് സ്ലൈഡിലേക്ക് മടങ്ങി പോകാം.
08:07 ചുരുക്കത്തിൽ ഇവിടെ പഠിച്ചത്,
08:10 ഇന്‍ഹെറിറ്റന്‍സ് വിവിധ തരത്തിലുള്ള ഇന്‍ഹെറിറ്റന്‍സ്.
08:14 നിങ്ങൾ ചെയേണ്ടത്,shape എന്ന ക്ലാസ്സ്‌ ക്രിയെറ്റ് ചെയ്യാന്‍ പ്രോഗ്രാം എഴുതുക.
08:18 ആ ക്ലാസ്സിന് , area, perimeter എന്ന രണ്ട് ഫങ്ഷൻസ് ക്രിയെറ്റ് ചെയ്യുക.
08:23 അതിനുശേഷം square,rectangle,circle തുടങ്ങിയ ഷേപ്പ്സിന്‍റെ areaഉം perimeterഉം കണ്ടുപിടിക്കുക.
08:31 ഇവിടെ ലഭ്യമായ വീഡിയോ കാണുക.
08:34 ഇത് സ്പോകെന്‍ ടൂടോറിയല്‍ പ്രൊജക്റ്റ്‌നെ സംഗ്രഹിക്കുന്നു.
08:37 നല്ല ബാന്ഡ് വിഡ്ത്ത് ഇല്ലെങ്കിൽ ഡൌണ്‍ലോഡ് ചെയ്ത് കാണാവുന്നതാണ്.
08:42 സ്പോക്കണ് ട്യൂട്ടോറിയൽ പ്രോജക്ട് ടീം,
08:44 സ്പോക്കണ് ട്യൂട്ടോറിയൽസ് ഉപയോഗിച്ച് വർക്ക്‌ ഷോപ്സ് നടത്തുന്നു.
08:47 ഓൺലൈൻ പരിക്ഷ പാസാകുന്നവർക്ക് സർട്ടിഫിക്കറ്റുകൾ നൽകുന്നു.
08:51 കൂടുതൽ വിവരങ്ങൾക്കായി ഈ വെബ്സൈറ്റ് സന്ദർശിക്കുക.
08:58 സ്പോക്കണ് ട്യൂട്ടോറിയല്‍ പ്രോജക്റ്റ് ടോക്ക് ടു എ ടീച്ചർ പ്രൊജക്റ്റിന്റെ ഭാഗമാണ്.
09:02 ഇതിനെ പിന്താങ്ങുന്നത് നാഷണൽ മിഷൻ ഓണ് എഡ്യൂക്കേഷൻ ത്രൂ ICT, MHRD, ഗവണ്മെന്റ് ഓഫ് ഇന്ത്യ.
09:09 ഈ മിഷൻനെ കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ഇവിടെ ലഭ്യമാണ്.
09:13 ഈ ട്യൂട്ടോറിയല്‍ വിവർത്തനം ചെയ്തത് ജെയിൻ ജോസഫ്‌. ഇത് ദേവി സേനൻ, IIT Bombay, നന്ദി.

Contributors and Content Editors

Devisenan, Janejoseph 15, Pratik kamble, Vijinair