Difference between revisions of "Advanced-Cpp/C2/Inheritance/Malayalam"
From Script | Spoken-Tutorial
Line 573: | Line 573: | ||
|- | |- | ||
| 09:13 | | 09:13 | ||
− | | ഈ ട്യൂട്ടോറിയല് വിവർത്തനം ചെയ്തത് ജെയിൻ ജോസഫ്. | + | | ഈ ട്യൂട്ടോറിയല് വിവർത്തനം ചെയ്തത് ജെയിൻ ജോസഫ്. ഇത് ദേവി സേനൻ, IIT Bombay, നന്ദി. |
|} | |} |
Revision as of 14:45, 28 April 2015
Time | Narration |
00:01 | Inheritance in C++ എന്ന സ്പോകെൻ ട്യൂട്ടോറിയലിലേക്ക് സ്വാഗതം. |
00:06 | ഇവിടെ പഠിക്കുന്നത്. |
00:09 | ഇന്ഹെറിറ്റന്സ് |
00:10 | വിവിധ തരത്തിലുള്ള ഇന്ഹെറിറ്റന്സ് |
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:45 | സിംഗിള് ലെവല് ഇന്ഹെറിറ്റന്സ് |
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 | എൻറ്റർ അമർത്തുക. |
04:42 | ./exam(ഡോട്ട് സ്ലാഷ് exam) എന്ന് ടൈപ്പ് ചെയ്യുക. എൻറ്റർ അമർത്തുക. |
04:46 | നമ്മള് കാണുന്നത്, |
04:47 | Enter Roll no.: |
04:49 | ഞാന് 1 എന്ന് കൊടുക്കുന്നു. |
04:51 | Enter Name: |
04:52 | ഞാന് 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 |
05:09 | 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 |
06:45 | display_exam |
06:46 | അതുപോലെതന്നെ 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 |
07:57 | Total is: 214 |
07:59 | Average is: 71 എന്നായിരിക്കും. |
08:01 | ഈ ടൂട്ടോറിയൽ ഇവിടെ അവസാനിക്കുന്നു. |
08:05 | നമ്മുക്ക് സ്ലൈഡിലേക്ക് മടങ്ങി പോകാം. |
08:07 | ചുരുക്കത്തിൽ |
08:08 | ഇവിടെ പഠിച്ചത്, |
08:10 | ഇന്ഹെറിറ്റന്സ് |
08:11 | വിവിധ തരത്തിലുള്ള ഇന്ഹെറിറ്റന്സ്. |
08:14 | നിങ്ങൾ ചെയേണ്ടത്, |
08:15 | 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, നന്ദി. |