Advanced-Cpp/C2/Abstract-Class/Kannada

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:01 C++ ನಲ್ಲಿಯ abstract class (ಅಬ್ಸ್ಟ್ರ್ಯಾಕ್ಟ್ ಕ್ಲಾಸ್) ಮತ್ತು pure virtual function (ಪ್ಯೂರ್ ವರ್ಚುವಲ್ ಫಂಕ್ಶನ್), ಇವುಗಳ ಬಗೆಗೆ ಇರುವ ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಗೆ ಸ್ವಾಗತ.
00:08 ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ,
00:10 ಅಬ್ಸ್ಟ್ರ್ಯಾಕ್ಟ್ ಕ್ಲಾಸ್, ಪ್ಯೂರ್ ವರ್ಚುವಲ್ ಫಂಕ್ಶನ್, ಇವುಗಳನ್ನು ನಾವು ಕಲಿಯುವೆವು,
00:13 ನಾವು ಇದನ್ನು ಒಂದು ಉದಾಹರಣೆಯ ಮೂಲಕ ಮಾಡುವೆವು.
00:16 ಈ ಟ್ಯುಟೋರಿಯಲ್ ಅನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು,
00:19 Ubuntu ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ನ 11.10 ಆವೃತ್ತಿ ಮತ್ತು,
00:23 g++ compiler ನ 4.6.1 ನೇ ಆವೃತ್ತಿಗಳನ್ನು ನಾನು ಬಳಸುತ್ತಿದ್ದೇನೆ.
00:27 ನಾವು abstract class ಎನ್ನುವುದರ ಪರಿಚಯದೊಂದಿಗೆ ಆರಂಭಿಸೋಣ.
00:31 ಅಬ್ಸ್ಟ್ರ್ಯಾಕ್ಟ್ ಕ್ಲಾಸ್ ಎನ್ನುವುದು ಯಾವಾಗಲೂ ಬೇಸ್ ಕ್ಲಾಸ್ ಆಗಿರುತ್ತದೆ.
00:35 ಇದು ಕನಿಷ್ಠ ಪಕ್ಷ ಒಂದಾದರೂ ಪ್ಯೂರ್ ವರ್ಚುವಲ್ ಫಂಕ್ಶನ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.
00:39 ನಾವು ಅಬ್ಸ್ಟ್ರ್ಯಾಕ್ಟ್ ಕ್ಲಾಸ್ ನ ಇನ್ಸ್ಟನ್ಸ್ ಅನ್ನು ಕ್ರಿಯೇಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ.
00:43 ನಾವು ಪ್ಯೂರ್ ವರ್ಚುವಲ್ ಫಂಕ್ಶನ್ ಎನ್ನುವುದನ್ನು ನೋಡೋಣ.
00:45 ಪ್ಯೂರ್ ವರ್ಚುವಲ್ ಫಂಕ್ಶನ್ ಎನ್ನುವುದು ಬಾಡಿ ಇಲ್ಲದ ಫಂಕ್ಶನ್ ಆಗಿದೆ.
00:49 ಬೇಸ್ ಕ್ಲಾಸ್ ನಲ್ಲಿ ಇದನ್ನು ಡಿಫೈನ್ ಮಾಡಿರುವುದಿಲ್ಲ.
00:52 ಇದನ್ನು ಹೀಗೆ ಡಿಕ್ಲೇರ್ ಮಾಡಲಾಗಿದೆ:
00:54 virtual void ಮತ್ತು virtualfunname()=0;
01:00 ಡಿರೈವ್ಡ್ ಕ್ಲಾಸ್ ಎನ್ನುವುದು ಫಂಕ್ಶನ್ ಅನ್ನು ಓವರ್ ರೈಡ್ ಮಾಡಲೇಬೇಕು.
01:04 ಇಲ್ಲದಿದ್ದರೆ ಕಂಪೈಲರ್, ಎರರ್ ಅನ್ನು ಕೊಡುತ್ತದೆ.
01:07 ಫಂಕ್ಶನ್ ಅನ್ನು ಅಳವಡಿಸುವದು (ಇಂಪ್ಲಿಮೆಂಟ್ ಮಾಡುವದು) ಮಾತ್ರ ಡಿರೈವ್ಡ್ ಕ್ಲಾಸ್ಗೆ ಬಿಟ್ಟಿದ್ದು.
01:11 ನಾವು ಒಂದು ಉದಾಹರಣೆಯನ್ನು ನೋಡೋಣ.
01:13 ನಾನು ಕೋಡನ್ನು ಈಗಾಗಲೇ ಎಡಿಟರ್ನಲ್ಲಿ ಟೈಪ್ ಮಾಡಿದ್ದೇನೆ.
01:16 ನಾನು ಅದನ್ನು ಓಪನ್ ಮಾಡುವೆನು.
01:18 ನಮ್ಮ ಫೈಲ್ ನೇಮ್ abstract.cpp ಆಗಿದೆ ಎನ್ನುವುದನ್ನು ಗಮನಿಸಿರಿ.
01:22 ಈ ಉದಾಹರಣೆಯು ಎರಡು ಸಂಖ್ಯೆಗಳ ಸ೦ಕಲನ ಮತ್ತು ವ್ಯವಕಲನವನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.
01:28 ನಾವು ಕೋಡ್ ಅನ್ನು ಅನುಸರಿಸೋಣ.
01:30 ಇದು ನಮ್ಮ iostream ಎನ್ನುವ ಹೆಡರ್ ಫೈಲ್ ಆಗಿದೆ.
01:33 ಇಲ್ಲಿ ನಾವು std namespace ಎನ್ನುವುದನ್ನು ಉಪಯೋಗಿಸಿದ್ದೇವೆ.
01:36 ಇದು abstractinterface ಎನ್ನುವ ಕ್ಲಾಸ್ ನ ಡಿಕ್ಲರೇಶನ್ ಆಗಿದೆ.
01:41 ಆಮೇಲೆ ಇದು public ಸ್ಪೆಸಿಫೈಯರ್ ಆಗಿದೆ.
01:44 ಇದರಲ್ಲಿ numbers ಎನ್ನುವ ವರ್ಚುವಲ್ ಫಂಕ್ಶನ್ ಅನ್ನು ನಾವು ಡಿಕ್ಲೇರ್ ಮಾಡಿದ್ದೇವೆ.
01:49 ಮತ್ತು ಸೊನ್ನೆ ಇದರ ಆರಂಭಿಕ ವ್ಯಾಲ್ಯು ಆಗಿದೆ.
01:51 ಆಮೇಲೆ ಒಂದು ನಾನ್- ವರ್ಚುವಲ್ ಫಂಕ್ಶನ್
01:55 ಮತ್ತು, a ಹಾಗೂ b, ಈ ಎರಡು ಇಂಟೀಜರ್ ವೇರಿಯಬಲ್ ಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ.
01:59 ಇಲ್ಲಿ ನಾವು input ಎನ್ನುವ ಫಂಕ್ಶನ್ ಅನ್ನು ಆಕ್ಸೆಸ್ ಮಾಡುತ್ತೇವೆ.
02:01 ಇದರಲ್ಲಿ ನಾವು a ಹಾಗೂ b ಎನ್ನುವ ಸಂಖ್ಯೆಗಳನ್ನು ಪಡೆಯುತ್ತೇವೆ.
02:05 ಇದು add ಎನ್ನುವ ಡಿರೈವ್ಡ್ ಕ್ಲಾಸ್ ಆಗಿದೆ.
02:09 ಇದು abstractinterface ಎನ್ನುವ ಬೇಸ್ ಕ್ಲಾಸ್ ನ ಗುಣಗಳನ್ನು ಪರಂಪರೆಯಾಗಿ ಪಡೆಯುತ್ತದೆ.
02:14 ಇಲ್ಲಿ ನಾವು numbers ಎನ್ನುವ ಫಂಕ್ಶನ್ ಅನ್ನು ಓವರ್ ರೈಡ್ ಮಾಡುತ್ತೇವೆ.
02:18 ಇದರಲ್ಲಿ a ಹಾಗೂ b, ಈ ಸಂಖ್ಯೆಗಳ ಸಂಕಲನವನ್ನು ಮಾಡುತ್ತೇವೆ.
02:21 ಮತ್ತು ಉತ್ತರವನ್ನು sum ಎನ್ನುವ ಇಂಟೀಜರ್ ವೇರಿಯಬಲ್ ನಲ್ಲಿ ಸ್ಟೋರ್ ಮಾಡುತ್ತೇವೆ.
02:25 ನಂತರ ಉತ್ತರವನ್ನು ಪ್ರಿಂಟ್ ಮಾಡುತ್ತೇವೆ.
02:27 ಇಲ್ಲಿ sub ಎನ್ನುವ ಇನ್ನೊಂದು ಡಿರೈವ್ಡ್ ಕ್ಲಾಸ್ ಅನ್ನು ಹೊಂದಿದ್ದೇವೆ.
02:31 ಇದೂ ಸಹ abstractinterface ಎನ್ನುವ ಬೇಸ್ ಕ್ಲಾಸ್ ಅನ್ನು ಪರಂಪರೆಯಾಗಿ ಪಡೆಯುತ್ತದೆ.
02:35 ಇದರಲ್ಲಿ, ಮತ್ತೊಮ್ಮೆ, ನಾವು numbers ಎನ್ನುವ ಫಂಕ್ಶನ್ ಅನ್ನು ಓವರ್ ರೈಡ್ ಮಾಡುತ್ತೇವೆ.
02:39 ಮತ್ತು ಇಲ್ಲಿ ನಾವು a ಹಾಗೂ b ಗಳ ವ್ಯತ್ಯಾಸವನ್ನು ಕಂಡುಹಿಡಿಯುತ್ತೇವೆ.
02:43 ಆಮೇಲೆ ವ್ಯತ್ಯಾಸವನ್ನು ಪ್ರಿಂಟ್ ಮಾಡುತ್ತೇವೆ.
02:45 ಇದು ನಮ್ಮ main ಎನ್ನುವ ಫಂಕ್ಶನ್ ಆಗಿದೆ.
02:48 ಇಲ್ಲಿ add ಎನ್ನುವ ಕ್ಲಾಸ್ನ, obj1 ಎನ್ನುವ ಓಬ್ಜೆಕ್ಟ್ ಅನ್ನು ನಾವು ಕ್ರಿಯೇಟ್ ಮಾಡುತ್ತೇವೆ.
02:53 ಆಮೇಲೆ ನಾವು ಓಬ್ಜೆಕ್ಟ್ obj1 ಅನ್ನು ಬಳಸಿ input ಹಾಗೂ numbers ಎನ್ನುವ ಈ ಎರಡು ಫಂಕ್ಶನ್ ಗಳನ್ನು ಕಾಲ್ ಮಾಡುತ್ತೇವೆ.
02:59 ಆಮೇಲೆ sub ಎನ್ನುವ ಕ್ಲಾಸ್ನ obj2 ಎನ್ನುವ ಓಬ್ಜೆಕ್ಟ್ ಅನ್ನು ನಾವು ಕ್ರಿಯೇಟ್ ಮಾಡುತ್ತೇವೆ.
03:04 ಮತ್ತೆ, obj2 ಎನ್ನುವ ಓಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಬಳಸಿ ನಾವು ಈ ಎರಡು ಫಂಕ್ಶನ್ ಗಳನ್ನು ಕಾಲ್ ಮಾಡುತ್ತೇವೆ.
03:08 ಇದು ನಮ್ಮ return ಸ್ಟೇಟಮೆಂಟ್ ಆಗಿದೆ.
03:10 ಈಗ ನಾವು ಪ್ರೊಗ್ರಾಮನ್ನು ಎಕ್ಸಿಕ್ಯೂಟ್ ಮಾಡೋಣ.
03:13 ನಿಮ್ಮ ಕೀಬೋರ್ಡ್ ಮೇಲಿನ Ctrl, Alt and T ಎನ್ನುವ ಕೀಗಳನ್ನು ಒಂದೇ ಬಾರಿಗೆ ಒತ್ತಿ, ಟರ್ಮಿನಲ್ ವಿಂಡೋವನ್ನು ಓಪನ್ ಮಾಡಿರಿ.
03:21 ಕಂಪೈಲ್ ಮಾಡಲು g++ space abstract dot cpp space hyphen o space abs ಎಂದು ಟೈಪ್ ಮಾಡಿರಿ.
03:31 Enter ಅನ್ನು ಒತ್ತಿರಿ. ./abs (ಡಾಟ್ ಸ್ಲ್ಯಾಷ್ abs) ಎಂದು ಟೈಪ್ ಮಾಡಿರಿ.
03:34 Enter ಅನ್ನು ಒತ್ತಿರಿ.
03:36 Enter the numbers ಎಂದು ಕಾಣಿಸುತ್ತದೆ.
03:38 ನಾನು 9 ಮತ್ತು 4 ಗಳನ್ನು ಎಂಟರ್ ಮಾಡುವೆನು.
03:42 ಔಟ್ಪುಟ್, Sum is 13 ಎಂದು ಕಾಣಿಸುತ್ತದೆ.
03:46 Enter the numbers ಎನ್ನುವುದನ್ನು ಮತ್ತೆ ನಾವು ನೋಡುತ್ತೇವೆ.
03:49 ನಾನು 8 ಮತ್ತು 3 ಗಳನ್ನು ಎಂಟರ್ ಮಾಡುವೆನು.
03:52 ಔಟ್ಪುಟ್, Diff is 5 ಎಂದು ಕಾಣಿಸುತ್ತದೆ.
03:56 ಇಲ್ಲಿಗೆ ನಾವು ಟ್ಯುಟೋರಿಯಲ್ ನ ಕೊನೆಗೆ ಬಂದಿದ್ದೇವೆ.
03:59 ನಮ್ಮ ಸ್ಲೈಡ್ ಗಳಿಗೆ ಹಿಂದಿರುಗಿರಿ.
04:01 ನಾವು ಸಂಕ್ಶಿಪ್ತಗೊಳಿಸೋಣ.
04:03 ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ, ಅಬ್ಸ್ಟ್ರ್ಯಾಕ್ಟ್ ಕ್ಲಾಸ್, ಉದಾ. class abstractinterface,
04:09 ಪ್ಯೂರ್ ವರ್ಚುವಲ್ ಫಂಕ್ಶನ್, ಉದಾ. virtual void numbers()=0; ಇವುಗಳನ್ನು ನಾವು ಕಲಿತಿದ್ದೇವೆ.
04:14 ಒಂದು ಅಸೈನ್ಮೆಂಟ್ ಎಂದು, student ಎನ್ನುವ ಅಬ್ಸ್ಟ್ರ್ಯಾಕ್ಟ್ ಕ್ಲಾಸ್ ಒಂದನ್ನು ಕ್ರಿಯೇಟ್ ಮಾಡಿರಿ.
04:17 Info ಎನ್ನುವ ಪ್ಯೂರ್ ವರ್ಚುವಲ್ ಫಂಕ್ಶನ್ ಒಂದನ್ನು ಕ್ರಿಯೇಟ್ ಮಾಡಿರಿ.
04:20 ಈ ಫಂಕ್ಶನ್ ನಲ್ಲಿ ವಿದ್ಯಾರ್ಥಿಯ ಹೆಸರು ಮತ್ತು ರೋಲ್ ನಂ. ಗಳನ್ನು ಪಡೆಯಿರಿ.
04:25 marks ಹಾಗೂ sports ಎನ್ನುವ ಎರಡು ಡಿರೈವ್ಡ್ ಕ್ಲಾಸ್ ಗಳನ್ನು ಕ್ರಿಯೇಟ್ ಮಾಡಿರಿ.
04:29 marks ಎನ್ನುವುದರಲ್ಲಿ ಮೂರು ವಿಷಯಗಳ ಮಾರ್ಕ್ಸ್ ಗಳನ್ನು ಪಡೆಯಿರಿ.
04:32 sports ಎನ್ನುವುದರಲ್ಲಿ ಸ್ಪೋರ್ಟ್ಸ್ ನಲ್ಲಿ ಪಡೆದ ಮಾರ್ಕ್ಸ್ ಗಳನ್ನು ಎಂಟರ್ ಮಾಡಿರಿ.
04:35 ಟೋಟಲ್ ಮಾರ್ಕ್ಸ್ ಗಳನ್ನು ಕಂಡುಹಿಡಿಯಿರಿ.
04:38 ಆಮೇಲೆ result ಎನ್ನುವ ಇನ್ನೊಂದು ಡಿರೈವ್ಡ್ ಕ್ಲಾಸ್ ಅನ್ನು ಕ್ರಿಯೇಟ್ ಮಾಡಿರಿ.
04:41 ಇದರಲ್ಲಿ, ವಿದ್ಯಾರ್ಥಿಯ ಹೆಸರು, ರೋಲ್-ನಂ, ಟೋಟಲ್ ಮಾರ್ಕ್ಸ್ ಗಳನ್ನು ತೋರಿಸಿರಿ.
04:47 ಕೆಳಗೆ ತೋರಿಸಿದ ಲಿಂಕ್ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ವೀಡಿಯೋವನ್ನು ನೋಡಿರಿ. http://spoken-tutorial.org/What_is_a_Spoken_Tutorial
04:50 ಅದು ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಪ್ರಕಲ್ಪವನ್ನು ಸಾರಾಂಶಗೊಳಿಸುತ್ತದೆ.
04:53 ನೀವು ಉತ್ತಮವಾದ ಬ್ಯಾಂಡ್ವಿಡ್ತ್ ಅನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ಡೌನ್ಲೋಡ್ ಮಾಡಿ ನೋಡಬಹುದು.
04:58 ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಪ್ರಕಲ್ಪದ ತಂಡವು ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ಸ್ ಬಳಸಿಕೊಂಡು ಕಾರ್ಯಶಾಲೆಗಳನ್ನು ನಡೆಸುತ್ತದೆ.
05:03 ಹಾಗೂ ಆನ್-ಲೈನ್ ಪರೀಕ್ಷೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣರಾದವರಿಗೆ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಕೊಡುತ್ತದೆ.
05:07 ಹೆಚ್ಚಿನ ವಿವರಗಳಿಗೆ ದಯವಿಟ್ಟು contact [at] spoken hyphen tutorial dot org ಈ ಈ-ಮೇಲ್ ಗೆ ಬರೆಯಿರಿ.
05:14 ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಪ್ರಕಲ್ಪವು ‘ಟಾಕ್ ಟು ಎ ಟೀಚರ್’ ಎನ್ನುವ ಪ್ರಕಲ್ಪದ ಒಂದು ಭಾಗವಾಗಿದೆ.
05:18 ಈ ಟ್ಯುಟೋರಿಯಲ್ ರಾಷ್ಟ್ರೀಯ ಸಾಕ್ಷರತಾ ಮಿಶನ್, ICT , MHRD, ಭಾರತ ಸರ್ಕಾರದ ಆಧಾರವನ್ನು ಹೊಂದಿದೆ.
05:25 ಇದರ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಯು ಕೆಳಗೆ ತೋರಿಸಿದ ಲಿಂಕ್ ಗಳ ಮೇಲೆ ಲಭ್ಯವಿದೆ. http://spoken-tutorial.org/NMEICT-Intro
05:30 ಇದರ ಅನುವಾದಕಿ ಐ ಐ ಟಿ ಬಾಂಬೆ ಯಿಂದ ಸಂಧ್ಯಾ ಪುಣೇಕರ್ ಮತ್ತು ಪ್ರವಾಚಕ ಐ ಐ ಟಿ ಬಾಂಬೆಯಿಂದ ವಾಸುದೇವ. ಧನ್ಯವಾದಗಳು.

Contributors and Content Editors

PoojaMoolya, Vasudeva ahitanal