Difference between revisions of "Java/C3/Polymorphism/Kannada"
Sandhya.np14 (Talk | contribs) |
Sandhya.np14 (Talk | contribs) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
|- | |- | ||
||00:01 | ||00:01 | ||
− | || ಜಾವಾದಲ್ಲಿ ಪಾಲಿಮಾರ್ಫಿಸಂ ಕುರಿತ ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಗೆ ಸ್ವಾಗತ. | + | || ಜಾವಾದಲ್ಲಿ '''Polymorphism''' (ಪಾಲಿಮಾರ್ಫಿಸಂ) ಕುರಿತ ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಗೆ ಸ್ವಾಗತ. |
|- | |- | ||
||00:06 | ||00:06 | ||
− | || ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು | + | || ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು: |
− | ಜಾವಾದಲ್ಲಿ ಪಾಲಿಮಾರ್ಫಿಸಂ | + | |
− | ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ | + | ಜಾವಾದಲ್ಲಿ ಪಾಲಿಮಾರ್ಫಿಸಂ, |
+ | |||
+ | ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ, | ||
+ | |||
ವರ್ಚುವಲ್ ಮೆಥಡ್ ಇನ್ವೊಕೇಶನ್ ಮತ್ತು | ವರ್ಚುವಲ್ ಮೆಥಡ್ ಇನ್ವೊಕೇಶನ್ ಮತ್ತು | ||
− | ಕಂಪೈಲ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ. | + | |
+ | ಕಂಪೈಲ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಇವುಗಳ ಬಗ್ಗೆ ಕಲಿಯಲಿದ್ದೇವೆ. | ||
|- | |- | ||
− | ||00: | + | ||00:19 |
||ಇಲ್ಲಿ ನಾವು, | ||ಇಲ್ಲಿ ನಾವು, | ||
− | ಉಬಂಟು | + | ಉಬಂಟು ಲಿನಕ್ಸ್ ಆವೃತ್ತಿ '''12.04''', |
− | JDK | + | '''JDK''' ಆವೃತ್ತಿ '''1.7''' ಮತ್ತು |
− | + | ''' Eclipse''' '''4.3.1''' ಬಳಸುತ್ತಿದ್ದೇವೆ. | |
|- | |- | ||
||00:31 | ||00:31 | ||
− | || ಈ ಟ್ಯುಟೋರಿಯಲ್ | + | || ಈ ಟ್ಯುಟೋರಿಯಲ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ನೀವು ಜಾವಾ ಮತ್ತು '''Eclipse IDE''' ಗಳ (ಎಕ್ಲಿಪ್ಸ್ ಐ.ಡಿ.ಇ) ಬಗ್ಗೆ ತಿಳಿದಿರಬೇಕು. |
|- | |- | ||
||00:37 | ||00:37 | ||
− | || | + | || ಸಬ್-ಕ್ಲಾಸಿಂಗ್ ಮತ್ತು ಮೆಥಡ್ ಓವರ್-ರೈಡಿಂಗ್ ಹಾಗೂ ಓವರ್-ಲೋಡಿಂಗ್ ಗಳ ಬಗ್ಗೆ ಸಹ ತಿಳಿದಿರಬೇಕು. |
|- | |- | ||
||00:43 | ||00:43 | ||
− | ||ಇಲ್ಲದಿದ್ದರೆ, ಸಂಬಂಧಿತ ಜಾವಾ ಟ್ಯುಟೋರಿಯಲ್ | + | ||ಇಲ್ಲದಿದ್ದರೆ, ಸಂಬಂಧಿತ ಜಾವಾ ಟ್ಯುಟೋರಿಯಲ್ ಗಳಿಗಾಗಿ ದಯವಿಟ್ಟು ನಮ್ಮ ವೆಬ್ಸೈಟ್ ಗೆ ಭೇಟಿ ನೀಡಿ. |
|- | |- | ||
||00:48 | ||00:48 | ||
− | ||ಪಾಲಿಮಾರ್ಫಿಸಂ ಎಂದರೆ | + | ||ಪಾಲಿಮಾರ್ಫಿಸಂ ಎಂದರೆ, ಒಂದು ಅಬ್ಜೆಕ್ಟ್, ಅನೇಕ ರೂಪಗಳನ್ನು ಹೊಂದಬಲ್ಲ ಸಾಮರ್ಥ್ಯವಾಗಿದೆ. |
|- | |- | ||
||00:54 | ||00:54 | ||
|| ಪಾಲಿಮಾರ್ಫಿಸಂನ ಪ್ರಮುಖ ಲಾಭಗಳೆಂದರೆ: | || ಪಾಲಿಮಾರ್ಫಿಸಂನ ಪ್ರಮುಖ ಲಾಭಗಳೆಂದರೆ: | ||
− | + | ಸಂಕೀರ್ಣತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು ಮತ್ತು ಕೋಡ್ ಅನ್ನು ಮತ್ತೆ ಬಳಸುವ ಸಾಧ್ಯತೆ. | |
− | + | ||
|- | |- | ||
||01:03 | ||01:03 | ||
− | || ಜಾವಾದಲ್ಲಿ | + | || ಜಾವಾದಲ್ಲಿ ಕಂಪೈಲ್-ಟೈಂ ಮತ್ತು ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಎಂಬ ಎರಡು ವಿಧದ ಪಾಲಿಮಾರ್ಫಿಸಂ ಇವೆ. |
− | + | ||
|- | |- | ||
||01:11 | ||01:11 | ||
− | || | + | || ‘ಕಂಪೈಲ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ’ ಅನ್ನು ಮುಖ್ಯವಾಗಿ ‘ಮೆಥಡ್ ಓವರ್-ಲೋಡಿಂಗ್’ ಎಂದು ಹೇಳಲಾಗುತ್ತದೆ. ಇದನ್ನು ‘ಸ್ಟಾಟಿಕ್ ಬೈಂಡಿಂಗ್’ ಎಂದು ಸಹ ಕರೆಯಲಾಗುತ್ತದೆ. |
|- | |- | ||
||01:20 | ||01:20 | ||
− | || | + | || ‘ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ’ ಅನ್ನು ಮುಖ್ಯವಾಗಿ ‘ಮೆಥಡ್ ಓವರ್-ರೈಡಿಂಗ್’ ಎಂದು ಹೇಳಲಾಗುತ್ತದೆ. ಇದನ್ನು ‘ಡೈನಾಮಿಕ್ ಬೈಂಡಿಂಗ್’ ಎಂದು ಸಹ ಕರೆಯಲಾಗುತ್ತದೆ. |
|- | |- | ||
||01:29 | ||01:29 | ||
− | || ನಾವು ಈಗಾಗಲೇ | + | || ನಾವು ಈಗಾಗಲೇ ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಎಂದರೆ ಮೆಥಡ್ ಓವರ್-ರೈಡಿಂಗ್ ಬಗ್ಗೆ ಕಲಿತಿದ್ದೇವೆ. |
|- | |- | ||
||01:35 | ||01:35 | ||
− | || ಈಗ ಎಕ್ಲಿಪ್ಸ್ ಐ.ಡಿ.ಇ | + | || ಈಗ ಎಕ್ಲಿಪ್ಸ್ ಐ.ಡಿ.ಇ ಗೆ ಬದಲಾಯಿಸೋಣ. ನಾನು ಹಿಂದಿನ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ, '''MyProject''' (ಮೈಪ್ರಾಜೆಕ್ಟ್) ಎಂಬ ಒಂದು ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸಿದ್ದೇನೆ. |
|- | |- | ||
||01:44 | ||01:44 | ||
− | || | + | || '''Using final keyword''' ಎಂಬ ಟ್ಯುಟೋರಿಯಲ್ ನ ಕೋಡ್ ಫೈಲ್ ಗಳನ್ನು ನಾವು ಬಳಸೋಣ. |
|- | |- | ||
||01:49 | ||01:49 | ||
− | || | + | || ಇಲ್ಲಿ '''Employee''' ಕ್ಲಾಸ್, ಪೇರೆಂಟ್ ಕ್ಲಾಸ್ ಆಗಿದೆ |
|- | |- | ||
||01:52 | ||01:52 | ||
− | || | + | || ಮತ್ತು '''Manager''' ಕ್ಲಾಸ್ ಸಬ್- ಕ್ಲಾಸ್ ಆಗಿದೆ. |
|- | |- | ||
||01:55 | ||01:55 | ||
− | || | + | || '''Manager''' ಕ್ಲಾಸ್, '''department''' ಎಂಬ ಇನ್ನೊಂದು ವೇರಿಯೇಬಲ್ ಅನ್ನು ಹೊಂದಿದೆ. |
|- | |- | ||
||02:01 | ||02:01 | ||
− | || | + | || '''Manager''' ಕ್ಲಾಸ್ ನ ಮೆಥಡ್ '''getDetails()''', '''Employee''' ಕ್ಲಾಸ್ ನ ಮೆಥಡ್ '''getDetails()''' ಅನ್ನು ಓವರ್-ರೈಡ್ ಮಾಡುತ್ತದೆ. |
|- | |- | ||
||02:08 | ||02:08 | ||
− | || | + | || '''Manager''' ಕ್ಲಾಸ್ ನ ಅಬ್ಜೆಕ್ಟ್, ಅಂದರೆ '''Manager''' ನಿಂದ ನಾವು '''getDetails()''' ಮೆಥಡ್ ಅನ್ನು ಕಾಲ್ ಮಾಡುತ್ತೇವೆ. |
|- | |- | ||
||02:16 | ||02:16 | ||
− | || ವಿವರಗಳನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಲು | + | || ವಿವರಗಳನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಲು, ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ: |
− | system.out.println Details of Manager Class | + | '''system.out.println Details of Manager Class''' |
|- | |- | ||
||02:28 | ||02:28 | ||
− | || ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸೇವ್ | + | || ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸೇವ್ ಮಾಡಿ, ರನ್ ಮಾಡಿ. ನಾವು ಔಟ್ಪುಟ್ ನಲ್ಲಿ '''department''' ವೇರಿಯೇಬಲ್ ವ್ಯಾಲ್ಯೂಅನ್ನು ನೋಡಬಹುದು. |
|- | |- | ||
||02:37 | ||02:37 | ||
− | || | + | || ಆದ್ದರಿಂದ ರನ್ ಟೈಂನಲ್ಲಿ, ಸಬ್ ಕ್ಲಾಸ್ ಮೆಥಡ್ ಅನ್ನು ಇನ್ವೋಕ್ (ಜಾರಿ) ಮಾಡಲಾಗಿದೆ. |
|- | |- | ||
||02:42 | ||02:42 | ||
− | || | + | || ಮೆಥಡ್ ನ ಇನ್ವೊಕೇಶನ್ ಅನ್ನು '''JVM''' (ಜೆ.ವಿ.ಎಂ) ನಿಂದ ನಿರ್ಣಯಿಸಲಾಗುತ್ತದೆ, ಕಂಪೈಲರ್ ನಿಂದ ಅಲ್ಲ. |
|- | |- | ||
||02:48 | ||02:48 | ||
− | || ಹೀಗಾಗಿ ಇದನ್ನು ರನ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಅಥವಾ ಮೆಥಡ್ ಓವರ್ ರೈಡಿಂಗ್ | + | || ಹೀಗಾಗಿ ಇದನ್ನು ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಅಥವಾ ಮೆಥಡ್ ಓವರ್-ರೈಡಿಂಗ್ ಎನ್ನಲಾಗುತ್ತದೆ. |
|- | |- | ||
||02:55 | ||02:55 | ||
− | || ರನ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ | + | || ರನ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಬಗ್ಗೆ ನಾವು ಕಲಿತೆವು. |
|- | |- | ||
||02:58 | ||02:58 | ||
− | || ನಾವೀಗ ವರ್ಚುವಲ್ ಮೆಥಡ್ ಇನ್ವೊಕೇಶನ್ | + | || ನಾವೀಗ ವರ್ಚುವಲ್ ಮೆಥಡ್ ಇನ್ವೊಕೇಶನ್ ಬಗ್ಗೆ ಕಲಿಯೋಣ. |
|- | |- | ||
||03:03 | ||03:03 | ||
− | || | + | || '''Eclipse IDE''' ಯಲ್ಲಿ, '''Employee''' ಕ್ಲಾಸ್ಗೆ ಬನ್ನಿ. |
|- | |- | ||
||03:07 | ||03:07 | ||
− | || ವೇರಿಯೇಬಲ್ ನೇಮ್ | + | || ವೇರಿಯೇಬಲ್ ನೇಮ್ ನಲ್ಲಿ, '''static''' ಮತ್ತು '''final''' ಕೀವರ್ಡ್ ಗಳನ್ನು ತೆಗೆದುಬಿಡಿ. |
|- | |- | ||
||03:13 | ||03:13 | ||
− | || setName | + | || '''setName''' ಮೆಥಡ್ ಅನ್ನು ಅನ್-ಕಾಮೆಂಟ್ ಮಾಡಿ. |
|- | |- | ||
||03:16 | ||03:16 | ||
− | || | + | || '''static''' ಬ್ಲಾಕ್ ಅನ್ನು ತೆಗೆದುಬಿಡಿ. ಫೈಲ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿ. |
|- | |- | ||
||03:21 | ||03:21 | ||
− | || TestEmployee ಕ್ಲಾಸ್ ಗೆ ಬನ್ನಿ. manager.setName(“Nikkita Dinesh”); | + | || '''TestEmployee''' ಕ್ಲಾಸ್ ಗೆ ಬನ್ನಿ. ವ್ಯಾಲ್ಯೂ ಇನ್ಸ್ಟೆನ್ಸ್ '''manager.setName(“Nikkita Dinesh”); ''' ಅನ್ನು ಅನ್-ಕಾಮೆಂಟ್ ಮಾಡಿ. |
|- | |- | ||
||03:31 | ||03:31 | ||
− | || | + | || '''Employee''' ಕ್ಲಾಸ್ ನಲ್ಲಿ '''setName()''' ಮೆಥಡ್ ಅನ್ನು ನಾವು ಅನ್-ಕಮೆಂಟ್ ಮಾಡಿದ್ದರಿಂದ, ಈ ಇನ್ಸ್ಟನ್ಸ್ ಅನ್ನು ಅನ್-ಕಮೆಂಟ್ ಮಾಡಿದ್ದೇವೆ. |
|- | |- | ||
||03:38 | ||03:38 | ||
− | || ನಾವೀಗ | + | || ನಾವೀಗ '''Employee''' ಕ್ಲಾಸ್ ರೆಫರನ್ಸ್ ಗಾಗಿ, '''Employee''' ಅಬ್ಜೆಕ್ಟ್ '''emp1''' ಅನ್ನು ಇನ್ಸ್ಟಾಂಶಿಯೇಟ್ ಮಾಡೋಣ. |
|- | |- | ||
||03:46 | ||03:46 | ||
− | || Employee emp1 = new Employee open and close parenthesis semicolon ಎಂದು ಟೈಪ್ ಮಾಡಿ. | + | || '''Employee emp1 = new Employee open and close parenthesis semicolon''' ಎಂದು ಟೈಪ್ ಮಾಡಿ. |
|- | |- | ||
||03:57 | ||03:57 | ||
− | || ನಾವೀಗ | + | || ನಾವೀಗ '''Employee''' ಕ್ಲಾಸ್ ಗಾಗಿ '''setEmail''' ಮತ್ತು '''setName''' ಗಾಗಿ ಮೌಲ್ಯವನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡೋಣ. |
|- | |- | ||
||04:03 | ||04:03 | ||
− | || emp1.setName("Jayesh"); emp1.setEmail("pqr@gmail.com"); | + | || ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ: '''emp1.setName("Jayesh"); ''' |
+ | '''emp1.setEmail("pqr@gmail.com");''' | ||
|- | |- | ||
||04:16 | ||04:16 | ||
− | || ಉದ್ಯೋಗಿಯ ವಿವರಗಳನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಲು System.out.println("Details of Employee class:" emp1.getDetails()) semicolon | + | || ಉದ್ಯೋಗಿಯ ವಿವರಗಳನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಲು ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ: |
+ | '''System.out.println("Details of Employee class:" emp1.getDetails()) semicolon'''. | ||
|- | |- | ||
||04:37 | ||04:37 | ||
− | || | + | || '''Employee''' ಕ್ಲಾಸ್ ರೆಫರೆನ್ಸ್ ಗಾಗಿ, '''Manager''' ಅಬ್ಜೆಕ್ಟ್ '''emp2''' ಅನ್ನು ನಾವು ಇನ್ಸ್ಟಾಂಶಿಯೇಟ್ ಮಾಡೋಣ. |
− | ಅಂದರೆ Employee emp2 = new Manager open and close parenthesis semicolon ಎಂದು ಟೈಪ್ ಮಾಡಿ. | + | ಅಂದರೆ, '''Employee emp2 = new Manager open and close parenthesis semicolon''' ಎಂದು ಟೈಪ್ ಮಾಡಿ. |
|- | |- | ||
||04:54 | ||04:54 | ||
− | || ನಾವಿದನ್ನು ಮಾಡಲು ಸಾಧ್ಯ | + | || ನಾವಿದನ್ನು ಮಾಡಲು ಸಾಧ್ಯ. ಏಕೆಂದರೆ, ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು IS-A ಪರೀಕ್ಷೆಯನ್ನು ತೇರ್ಗಡೆ ಹೊಂದಿದ ಯಾವುದೇ ಜಾವಾ ಅಬ್ಜೆಕ್ಟ್,ಪಾಲಿಮಾರ್ಫಿಕ್ ಆಗಿರುತ್ತದೆ. |
|- | |- | ||
||05:04 | ||05:04 | ||
− | || ಜಾವಾದಲ್ಲಿ ಎಲ್ಲಾ ಅಬ್ಜೆಕ್ಟ್ ಗಳು ಪಾಲಿಮಾರ್ಫಿಕ್ ಆಗಿರುತ್ತವೆ | + | || ಜಾವಾದಲ್ಲಿ ಎಲ್ಲಾ ಅಬ್ಜೆಕ್ಟ್ ಗಳು ಪಾಲಿಮಾರ್ಫಿಕ್ ಆಗಿರುತ್ತವೆ. ಏಕೆಂದರೆ ಯಾವುದೇ ಅಬ್ಜೆಕ್ಟ್, ಇಲ್ಲಿ ತನ್ನ ಸ್ವಂತದ ಟೈಪ್ ಮತ್ತು ಕ್ಲಾಸ್ ಅಬ್ಜೆಕ್ಟ್ಗಾಗಿ IS-A ಟೆಸ್ಟ್ ಅನ್ನು ಪಾಸ್ ಮಾಡುತ್ತದೆ. |
|- | |- | ||
||05:16 | ||05:16 | ||
− | || | + | || Manager '''IS-A''' Employee. |
− | + | ||
− | + | Manager '''IS-A''' ಮ್ಯಾನೇಜರ್. | |
+ | |||
+ | Manager '''IS-A''' ಅಬ್ಜೆಕ್ಟ್. | ||
|- | |- | ||
||05:23 | ||05:23 | ||
− | || ಯಾವುದೇ ಅಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಆಕ್ಸೆಸ್ ಮಾಡಲು | + | || ರೆಫರನ್ಸ್ ವೇರಿಯಬಲ್ ಮೂಲಕ ಮಾತ್ರ ಯಾವುದೇ ಅಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಆಕ್ಸೆಸ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. |
|- | |- | ||
||05:29 | ||05:29 | ||
− | || | + | || '''emp1, emp2''' ಮತ್ತು '''manager''' ನಂತಹ ರೆಫರನ್ಸ್ ವೇರಿಯಬಲ್ ಗಳು. |
|- | |- | ||
||05:36 | ||05:36 | ||
− | || ಇಲ್ಲಿ ನಾವು ಎರಡು | + | || ಇಲ್ಲಿ ನಾವು ಎರಡು '''manager''' ಅಬ್ಜೆಕ್ಟ್ ಗಳನ್ನು ಇನ್ಸ್ಟಾಂಶಿಯೇಟ್ ಮಾಡಿದ್ದೇವೆ: |
− | ಒಂದು | + | ಒಂದು '''Employee''' ಕ್ಲಾಸ್ ಅನ್ನು ರೆಫರನ್ಸ್ ಮಾಡುತ್ತದೆ. ಇನ್ನೊಂದು '''manager''' ಕ್ಲಾಸ್ ಅನ್ನು ರೆಫರನ್ಸ್ ಮಾಡುತ್ತದೆ. |
|- | |- | ||
||05:47 | ||05:47 | ||
− | || | + | || ನಾವು '''emp2''' ಅಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಬಳಸಿ, '''setEmail''', '''setName''' ಮತ್ತು '''setDepartment''' ನ ವ್ಯಾಲ್ಯೂಗಳನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡೋಣ. |
|- | |- | ||
||05:55 | ||05:55 | ||
|| ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ: | || ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ: | ||
− | emp2.setName("Ankita"); | + | '''emp2.setName("Ankita"); ''' |
− | emp2.setEmail(“xyz@gmail.com”); | + | '''emp2.setEmail(“xyz@gmail.com”); ''' |
− | emp2.setDepartment(“IT”); | + | '''emp2.setDepartment(“IT”); ''' |
|- | |- | ||
||06:14 | ||06:14 | ||
− | || ನಾವು | + | || ನಾವು ಇಲ್ಲಿ, '''"The method setDepartment(String) is undefined for the type Employee"''' ಎಂಬ ಒಂದು ಎರರ್ ಅನ್ನು ನೋಡುತ್ತೇವೆ. |
|- | |- | ||
||06:23 | ||06:23 | ||
− | || | + | || ಏಕೆಂದರೆ, '''Employee''' ಕ್ಲಾಸ್ ಗಾಗಿ, '''setDepartment''' ಮೆಥಡ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ. |
|- | |- | ||
||06:30 | ||06:30 | ||
− | || ಹೀಗಾಗಿ ಈ ಕೆಳಗಿನ ಸಾಲನ್ನು | + | || ಹೀಗಾಗಿ ಈ ಕೆಳಗಿನ ಸಾಲನ್ನು ತೆಗೆದುಬಿಡಿ: |
− | emp2.setDepartment("IT"); | + | '''emp2.setDepartment("IT");''' |
|- | |- | ||
||06:37 | ||06:37 | ||
− | || ವಿವರಗಳನ್ನು ಪ್ರಿಂಟ್ | + | || ವಿವರಗಳನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಲು, ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ: |
− | System.out.println("Details of Manager class:" emp2.getDetails()) semicolon | + | '''System.out.println("Details of Manager class:" emp2.getDetails()) semicolon''' |
|- | |- | ||
||06:55 | ||06:55 | ||
− | || ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸೇವ್ ಮತ್ತು ರನ್ ಮಾಡಿ. | + | || ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸೇವ್ ಮಾಡಿ ಮತ್ತು ರನ್ ಮಾಡಿ. |
|- | |- | ||
||06:58 | ||06:58 | ||
− | || ಇಲ್ಲಿ Manager of: | + | || ಇಲ್ಲಿ ಔಟ್ಪುಟ್ ನಲ್ಲಿ, '''Manager of: ''' ಖಾಲಿ ಇದೆ. |
|- | |- | ||
||07:04 | ||07:04 | ||
− | || | + | || ಏಕೆಂದರೆ, '''manager''' ಕ್ಲಾಸ್ ನಲ್ಲಿ ನಾವು '''emp2''' ಬಳಸಿ '''Department''' ಅನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡಿಲ್ಲ. |
|- | |- | ||
||07:12 | ||07:12 | ||
− | || | + | || ವಿವರಣೆಗಾಗಿ, ಡಿಫಾಲ್ಟ್ '''Department''' IT ಎಂದು ಇರಲಿ. |
|- | |- | ||
||07:17 | ||07:17 | ||
− | || | + | || '''manager''' ಕ್ಲಾಸ್ ಗೆ ಹೋಗಿ ಮತ್ತು '''Department''' ಗಾಗಿ ವ್ಯಾಲ್ಯೂವನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡಿ. |
|- | |- | ||
||07:25 | ||07:25 | ||
− | || ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸೇವ್ ಮತ್ತು ರನ್ ಮಾಡಿ. | + | || ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸೇವ್ ಮಾಡಿ ಮತ್ತು ರನ್ ಮಾಡಿ. |
|- | |- | ||
||07:28 | ||07:28 | ||
− | || ನಾವು ಔಟ್ಪುಟ್ ಪಡೆಯುತ್ತೇವೆ: | + | || ನಾವು ಈ ಔಟ್ಪುಟ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ: '''Employee''' ಅಬ್ಜೆಕ್ಟ್, '''Employee''' ಕ್ಲಾಸ್ ಅನ್ನು ರೆಫರ್ ಮಾಡುತ್ತದೆ. |
|- | |- | ||
||07:34 | ||07:34 | ||
− | || | + | || '''Manager''' ಅಬ್ಜೆಕ್ಟ್, '''Employee''' ಕ್ಲಾಸ್ ಅನ್ನು ರೆಫರ್ ಮಾಡುತ್ತದೆ. ಮತ್ತು '''Manager''' ಅಬ್ಜೆಕ್ಟ್, '''Manager''' ಕ್ಲಾಸ್ ಅನ್ನು ರೆಫರ್ ಮಾಡುತ್ತದೆ. |
|- | |- | ||
||07:42 | ||07:42 | ||
− | || | + | || ಇಲ್ಲಿ '''emp2''', '''Manager''' ಕ್ಲಾಸ್ ನ '''getDetails()''' ಮೆಥಡ್ ಅನ್ನು ಕಾಲ್ ಮಾಡುತ್ತದೆ. |
|- | |- | ||
||07:49 | ||07:49 | ||
− | || ಆದರೆ | + | || ಆದರೆ '''emp2''', '''setDepartment''' ಅನ್ನು ಕಾಲ್ ಮಾಡಲು ಯತ್ನಿಸಿದಾಗ, ನಮಗೆ ಎರರ್ ಸಿಕ್ಕಿತ್ತು. |
|- | |- | ||
||07:54 | ||07:54 | ||
− | || | + | || ಇದಕ್ಕೆ ಕಾರಣ ಹೀಗಿದೆ: |
− | emp2.getDetails() | + | emp2.getDetails() ನಲ್ಲಿ ಕಂಪೈಲರ್, '''Employee''' ಕ್ಲಾಸ್ ನಲ್ಲಿ getDetails() ಮೆಥಡ್ ಅನ್ನು ನೋಡುತ್ತದೆ. |
|- | |- | ||
||08:05 | ||08:05 | ||
− | || ಹೀಗಾಗಿ ಇದು | + | || ಹೀಗಾಗಿ ಇದು ಎರರ್ ಕೊಡುವುದಿಲ್ಲ. ಬದಲಾಗಿ ಕೋಡ್ ಅನ್ನು ಒಪ್ಪಿಕೊಳ್ಳುತ್ತದೆ. |
|- | |- | ||
||08:10 | ||08:10 | ||
− | || ಆದರೆ ರನ್ ಟೈಂನಲ್ಲಿ | + | || ಆದರೆ ರನ್ ಟೈಂನಲ್ಲಿ JVM, '''Manager''' ಕ್ಲಾಸ್ ನಲ್ಲಿ getDetails() ಅನ್ನು ಇನ್ವೋಕ್ ಮಾಡುತ್ತದೆ. ಏಕೆಂದರೆ '''Manager''' ಕ್ಲಾಸ್ ನ getDetails(), '''Employee''' ಕ್ಲಾಸ್ ನ getDetails() ಅನ್ನು ಓವರ್-ರೈಡ್ ಮಾಡುತ್ತದೆ. |
|- | |- | ||
||08:24 | ||08:24 | ||
− | || ಹೀಗಾಗಿ ನಾವು | + | || ಹೀಗಾಗಿ, ನಾವು '''Manager''' ಕ್ಲಾಸ್ ನ getDetails() ಪ್ರಕಾರ ಔಟ್ಪುಟ್ ಪಡೆಯುತ್ತೇವೆ. ಆದರೆ ಕಂಪೈಲರ್, '''Employee''' ಕ್ಲಾಸ್ ನಲ್ಲಿಯ s'''etDepartment()''' ಮೆಥಡ್ ಅನ್ನು ನೋಡುವುದಿಲ್ಲ. |
|- | |- | ||
||08:36 | ||08:36 | ||
− | || | + | || ಆದ್ದರಿಂದ, '''emp2''', '''setDepartment()''' ಅನ್ನು ಕಾಲ್ ಮಾಡಿದಾಗ, ಇದು ಎರರ್ ಅನ್ನು ತೋರಿಸುತ್ತದೆ. |
|- | |- | ||
||08:43 | ||08:43 | ||
− | || ಇಲ್ಲಿ | + | || ಇಲ್ಲಿ, '''Employee''' ಕ್ಲಾಸ್ ಗಾಗಿ, '''Employee''' ಯ ಮೆಥಡ್ getDetails() ಅನ್ನು ಇನ್ವೋಕ್ ಮಾಡಲಾಗುತ್ತದೆ. |
|- | |- | ||
||08:49 | ||08:49 | ||
− | || emp1.getDetails() | + | || '''emp1.getDetails()''' ನಲ್ಲಿ, getDetails() ಗಾಗಿ ಕಂಪೈಲರ್, '''Employee''' ಕ್ಲಾಸ್ ಅನ್ನು ರೆಫರೆನ್ಸ್ ಮಾಡುತ್ತದೆ. |
|- | |- | ||
||08:57 | ||08:57 | ||
− | || ರನ್ ಟೈಂ | + | || ರನ್ ಟೈಂ ನಲ್ಲಿ, JVM, '''Employee''' ಕ್ಲಾಸ್ ನ getDetails() ಅನ್ನು ಇನ್ವೋಕ್ ಮಾಡುತ್ತದೆ. ಹೀಗಾಗಿ, ನಾವು '''Employee''' ಕ್ಲಾಸ್ ನ getDetails() ಪ್ರಕಾರ ಔಟ್ಪುಟ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ. |
|- | |- | ||
||09:08 | ||09:08 | ||
− | || | + | || ಹೀಗೆ, ಪ್ರತಿಯೊಂದು ವೇರಿಯೇಬಲ್ ನಲ್ಲಿ ರೆಫರ್ ಮಾಡಲಾದ ಅಬ್ಜೆಕ್ಟ್ ಗೆ ಸರಿಯಾದ ಮೆಥಡ್ ಅನ್ನು JVM ಕಾಲ್ ಮಾಡುತ್ತದೆ. |
|- | |- | ||
||09:16 | ||09:16 | ||
− | || | + | || ಇದನ್ನು “ವರ್ಚುವಲ್ ಮೆಥಡ್ ಇನ್ವೊಕೇಶನ್” ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. |
|- | |- | ||
||09:21 | ||09:21 | ||
− | || ಈ | + | || ಈ ಮೆಥಡ್ ಗಳನ್ನು ವರ್ಚುವಲ್ ಮೆಥಡ್ಸ್ ಎಂದು ಹೇಳಲಾಗುತ್ತದೆ. |
|- | |- | ||
||09:26 | ||09:26 | ||
− | || | + | || ಜಾವಾದಲ್ಲಿಯ ಎಲ್ಲಾ ಮೆಥಡ್ ಗಳು ಇದೇ ರೀತಿಯಲ್ಲಿ ವರ್ತಿಸುತ್ತವೆ. |
|- | |- | ||
||09:31 | ||09:31 | ||
− | || | + | || “ವರ್ಚುವಲ್ ಮೆಥಡ್ ಇನ್ವೊಕೇಶನ್” ಬಗ್ಗೆ ನಾವು ತಿಳಿದುಕೊಂಡೆವು. |
|- | |- | ||
||09:36 | ||09:36 | ||
− | || | + | || “ಕಂಪೈಲ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ”, ಅಂದರೆ, ಮೆಥಡ್ ಓವರ್-ಲೋಡಿಂಗ್ ಬಗ್ಗೆ ನಾವು ಈಗಾಗಲೇ ಕಲಿತಿದ್ದೇವೆ. |
|- | |- | ||
||09:42 | ||09:42 | ||
− | || ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಈಗ | + | || ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಈಗ “ಕಂಪೈಲ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ” ಕುರಿತು ಕಲಿಯೋಣ. |
|- | |- | ||
||09:47 | ||09:47 | ||
− | || | + | || “ಕಂಪೈಲ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ” ನಲ್ಲಿ, ಕ್ಲಾಸ್ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಮೆಥಡ್ ಗಳನ್ನು ಹೊಂದಿರಬಹುದು. |
|- | |- | ||
||09:53 | ||09:53 | ||
− | || ಈ | + | || ಈ ಮೆಥಡ್ ಗಳು ಒಂದೇ ಹೆಸರನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಆದರೆ ಆರ್ಗ್ಯುಮೆಂಟ್ ಗಳ ಸಂಖ್ಯೆಯು ಬೇರೆ ಆಗಿರುತ್ತದೆ. |
|- | |- | ||
||09:59 | ||09:59 | ||
− | || | + | || ಕಂಪೈಲ್ ಟೈಂನಲ್ಲಿ, ಕಾಲ್ ಮಾಡಿದ ಮೆಥಡ್ ಅನ್ನು ಕಂಪೈಲರ್ ಗುರುತಿಸುತ್ತದೆ. ಈ ಕಾರಣಕ್ಕಾಗಿ, ಇದನ್ನು “ಕಂಪೈಲ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ” ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. |
|- | |- | ||
||10:09 | ||10:09 | ||
− | || | + | || ಸಂಕ್ಷಿಪ್ತವಾಗಿ, |
|- | |- | ||
||10:11 | ||10:11 | ||
− | || ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು: ಪಾಲಿಮಾರ್ಫಿಸಂ ಎಂದರೇನು? | + | || ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು: |
− | ರನ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ | + | ಜಾವಾ ದಲ್ಲಿ ಪಾಲಿಮಾರ್ಫಿಸಂ ಎಂದರೇನು? |
+ | ರನ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ, | ||
ವರ್ಚುವಲ್ ಮೆಥಡ್ ಇನ್ವೊಕೇಶನ್ ಮತ್ತು | ವರ್ಚುವಲ್ ಮೆಥಡ್ ಇನ್ವೊಕೇಶನ್ ಮತ್ತು | ||
ಕಂಪೈಲ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಕುರಿತು ಕಲಿತೆವು. | ಕಂಪೈಲ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಕುರಿತು ಕಲಿತೆವು. | ||
Line 349: | Line 356: | ||
|- | |- | ||
||10:23 | ||10:23 | ||
− | || ಇಲ್ಲೊಂದು ಅಸೈನ್ ಮೆಂಟ್ ಇದೆ | + | || ಇಲ್ಲೊಂದು ಅಸೈನ್ ಮೆಂಟ್ ಇದೆ. |
− | + | ಹಿಂದಿನ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು ಬಳಸಿದ Vehicle ಮತು Bike ಕ್ಲಾಸ್ ಗಳಿಗಾಗಿ ಮೆಥಡ್ ಗಳನ್ನು ಓವರ್-ರೈಡ್ ಮಾಡಿ. | |
|- | |- | ||
||10:32 | ||10:32 | ||
− | || ಈ ಕೆಳಗಿನ ಲಿಂಕ್ ನಲ್ಲಿ ಲಭ್ಯವಿರುವ | + | || ಈ ಕೆಳಗಿನ ಲಿಂಕ್ ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ವೀಡಿಯೊ, ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಪ್ರಾಜೆಕ್ಟ್ ನ ಸಾರಾಂಶವಾಗಿದೆ. ದಯವಿಟ್ಟು ವೀಕ್ಷಿಸಿ. |
|- | |- | ||
||10:40 | ||10:40 | ||
− | || ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಪ್ರಾಜೆಕ್ಟ್ ತಂಡವು | + | || ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಪ್ರಾಜೆಕ್ಟ್ ತಂಡವು ಕಾರ್ಯಶಾಲೆಗಳನ್ನು ನಡೆಸುತ್ತದೆ ಮತ್ತು ಆನ್ ಲೈನ್ ಪರೀಕ್ಷೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣರಾದವರಿಗೆ ಪ್ರಮಾಣಪತ್ರವನ್ನು ನೀಡುತ್ತದೆ. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ನಮಗೆ ಬರೆಯಿರಿ. |
|- | |- |
Latest revision as of 10:27, 9 June 2020
Time | Narration |
00:01 | ಜಾವಾದಲ್ಲಿ Polymorphism (ಪಾಲಿಮಾರ್ಫಿಸಂ) ಕುರಿತ ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಗೆ ಸ್ವಾಗತ. |
00:06 | ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು:
ಜಾವಾದಲ್ಲಿ ಪಾಲಿಮಾರ್ಫಿಸಂ, ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ, ವರ್ಚುವಲ್ ಮೆಥಡ್ ಇನ್ವೊಕೇಶನ್ ಮತ್ತು ಕಂಪೈಲ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಇವುಗಳ ಬಗ್ಗೆ ಕಲಿಯಲಿದ್ದೇವೆ. |
00:19 | ಇಲ್ಲಿ ನಾವು,
ಉಬಂಟು ಲಿನಕ್ಸ್ ಆವೃತ್ತಿ 12.04, JDK ಆವೃತ್ತಿ 1.7 ಮತ್ತು Eclipse 4.3.1 ಬಳಸುತ್ತಿದ್ದೇವೆ. |
00:31 | ಈ ಟ್ಯುಟೋರಿಯಲ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ನೀವು ಜಾವಾ ಮತ್ತು Eclipse IDE ಗಳ (ಎಕ್ಲಿಪ್ಸ್ ಐ.ಡಿ.ಇ) ಬಗ್ಗೆ ತಿಳಿದಿರಬೇಕು. |
00:37 | ಸಬ್-ಕ್ಲಾಸಿಂಗ್ ಮತ್ತು ಮೆಥಡ್ ಓವರ್-ರೈಡಿಂಗ್ ಹಾಗೂ ಓವರ್-ಲೋಡಿಂಗ್ ಗಳ ಬಗ್ಗೆ ಸಹ ತಿಳಿದಿರಬೇಕು. |
00:43 | ಇಲ್ಲದಿದ್ದರೆ, ಸಂಬಂಧಿತ ಜಾವಾ ಟ್ಯುಟೋರಿಯಲ್ ಗಳಿಗಾಗಿ ದಯವಿಟ್ಟು ನಮ್ಮ ವೆಬ್ಸೈಟ್ ಗೆ ಭೇಟಿ ನೀಡಿ. |
00:48 | ಪಾಲಿಮಾರ್ಫಿಸಂ ಎಂದರೆ, ಒಂದು ಅಬ್ಜೆಕ್ಟ್, ಅನೇಕ ರೂಪಗಳನ್ನು ಹೊಂದಬಲ್ಲ ಸಾಮರ್ಥ್ಯವಾಗಿದೆ. |
00:54 | ಪಾಲಿಮಾರ್ಫಿಸಂನ ಪ್ರಮುಖ ಲಾಭಗಳೆಂದರೆ:
ಸಂಕೀರ್ಣತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು ಮತ್ತು ಕೋಡ್ ಅನ್ನು ಮತ್ತೆ ಬಳಸುವ ಸಾಧ್ಯತೆ. |
01:03 | ಜಾವಾದಲ್ಲಿ ಕಂಪೈಲ್-ಟೈಂ ಮತ್ತು ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಎಂಬ ಎರಡು ವಿಧದ ಪಾಲಿಮಾರ್ಫಿಸಂ ಇವೆ. |
01:11 | ‘ಕಂಪೈಲ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ’ ಅನ್ನು ಮುಖ್ಯವಾಗಿ ‘ಮೆಥಡ್ ಓವರ್-ಲೋಡಿಂಗ್’ ಎಂದು ಹೇಳಲಾಗುತ್ತದೆ. ಇದನ್ನು ‘ಸ್ಟಾಟಿಕ್ ಬೈಂಡಿಂಗ್’ ಎಂದು ಸಹ ಕರೆಯಲಾಗುತ್ತದೆ. |
01:20 | ‘ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ’ ಅನ್ನು ಮುಖ್ಯವಾಗಿ ‘ಮೆಥಡ್ ಓವರ್-ರೈಡಿಂಗ್’ ಎಂದು ಹೇಳಲಾಗುತ್ತದೆ. ಇದನ್ನು ‘ಡೈನಾಮಿಕ್ ಬೈಂಡಿಂಗ್’ ಎಂದು ಸಹ ಕರೆಯಲಾಗುತ್ತದೆ. |
01:29 | ನಾವು ಈಗಾಗಲೇ ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಎಂದರೆ ಮೆಥಡ್ ಓವರ್-ರೈಡಿಂಗ್ ಬಗ್ಗೆ ಕಲಿತಿದ್ದೇವೆ. |
01:35 | ಈಗ ಎಕ್ಲಿಪ್ಸ್ ಐ.ಡಿ.ಇ ಗೆ ಬದಲಾಯಿಸೋಣ. ನಾನು ಹಿಂದಿನ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ, MyProject (ಮೈಪ್ರಾಜೆಕ್ಟ್) ಎಂಬ ಒಂದು ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸಿದ್ದೇನೆ. |
01:44 | Using final keyword ಎಂಬ ಟ್ಯುಟೋರಿಯಲ್ ನ ಕೋಡ್ ಫೈಲ್ ಗಳನ್ನು ನಾವು ಬಳಸೋಣ. |
01:49 | ಇಲ್ಲಿ Employee ಕ್ಲಾಸ್, ಪೇರೆಂಟ್ ಕ್ಲಾಸ್ ಆಗಿದೆ |
01:52 | ಮತ್ತು Manager ಕ್ಲಾಸ್ ಸಬ್- ಕ್ಲಾಸ್ ಆಗಿದೆ. |
01:55 | Manager ಕ್ಲಾಸ್, department ಎಂಬ ಇನ್ನೊಂದು ವೇರಿಯೇಬಲ್ ಅನ್ನು ಹೊಂದಿದೆ. |
02:01 | Manager ಕ್ಲಾಸ್ ನ ಮೆಥಡ್ getDetails(), Employee ಕ್ಲಾಸ್ ನ ಮೆಥಡ್ getDetails() ಅನ್ನು ಓವರ್-ರೈಡ್ ಮಾಡುತ್ತದೆ. |
02:08 | Manager ಕ್ಲಾಸ್ ನ ಅಬ್ಜೆಕ್ಟ್, ಅಂದರೆ Manager ನಿಂದ ನಾವು getDetails() ಮೆಥಡ್ ಅನ್ನು ಕಾಲ್ ಮಾಡುತ್ತೇವೆ. |
02:16 | ವಿವರಗಳನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಲು, ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ:
system.out.println Details of Manager Class |
02:28 | ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸೇವ್ ಮಾಡಿ, ರನ್ ಮಾಡಿ. ನಾವು ಔಟ್ಪುಟ್ ನಲ್ಲಿ department ವೇರಿಯೇಬಲ್ ವ್ಯಾಲ್ಯೂಅನ್ನು ನೋಡಬಹುದು. |
02:37 | ಆದ್ದರಿಂದ ರನ್ ಟೈಂನಲ್ಲಿ, ಸಬ್ ಕ್ಲಾಸ್ ಮೆಥಡ್ ಅನ್ನು ಇನ್ವೋಕ್ (ಜಾರಿ) ಮಾಡಲಾಗಿದೆ. |
02:42 | ಮೆಥಡ್ ನ ಇನ್ವೊಕೇಶನ್ ಅನ್ನು JVM (ಜೆ.ವಿ.ಎಂ) ನಿಂದ ನಿರ್ಣಯಿಸಲಾಗುತ್ತದೆ, ಕಂಪೈಲರ್ ನಿಂದ ಅಲ್ಲ. |
02:48 | ಹೀಗಾಗಿ ಇದನ್ನು ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಅಥವಾ ಮೆಥಡ್ ಓವರ್-ರೈಡಿಂಗ್ ಎನ್ನಲಾಗುತ್ತದೆ. |
02:55 | ರನ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಬಗ್ಗೆ ನಾವು ಕಲಿತೆವು. |
02:58 | ನಾವೀಗ ವರ್ಚುವಲ್ ಮೆಥಡ್ ಇನ್ವೊಕೇಶನ್ ಬಗ್ಗೆ ಕಲಿಯೋಣ. |
03:03 | Eclipse IDE ಯಲ್ಲಿ, Employee ಕ್ಲಾಸ್ಗೆ ಬನ್ನಿ. |
03:07 | ವೇರಿಯೇಬಲ್ ನೇಮ್ ನಲ್ಲಿ, static ಮತ್ತು final ಕೀವರ್ಡ್ ಗಳನ್ನು ತೆಗೆದುಬಿಡಿ. |
03:13 | setName ಮೆಥಡ್ ಅನ್ನು ಅನ್-ಕಾಮೆಂಟ್ ಮಾಡಿ. |
03:16 | static ಬ್ಲಾಕ್ ಅನ್ನು ತೆಗೆದುಬಿಡಿ. ಫೈಲ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿ. |
03:21 | TestEmployee ಕ್ಲಾಸ್ ಗೆ ಬನ್ನಿ. ವ್ಯಾಲ್ಯೂ ಇನ್ಸ್ಟೆನ್ಸ್ manager.setName(“Nikkita Dinesh”); ಅನ್ನು ಅನ್-ಕಾಮೆಂಟ್ ಮಾಡಿ. |
03:31 | Employee ಕ್ಲಾಸ್ ನಲ್ಲಿ setName() ಮೆಥಡ್ ಅನ್ನು ನಾವು ಅನ್-ಕಮೆಂಟ್ ಮಾಡಿದ್ದರಿಂದ, ಈ ಇನ್ಸ್ಟನ್ಸ್ ಅನ್ನು ಅನ್-ಕಮೆಂಟ್ ಮಾಡಿದ್ದೇವೆ. |
03:38 | ನಾವೀಗ Employee ಕ್ಲಾಸ್ ರೆಫರನ್ಸ್ ಗಾಗಿ, Employee ಅಬ್ಜೆಕ್ಟ್ emp1 ಅನ್ನು ಇನ್ಸ್ಟಾಂಶಿಯೇಟ್ ಮಾಡೋಣ. |
03:46 | Employee emp1 = new Employee open and close parenthesis semicolon ಎಂದು ಟೈಪ್ ಮಾಡಿ. |
03:57 | ನಾವೀಗ Employee ಕ್ಲಾಸ್ ಗಾಗಿ setEmail ಮತ್ತು setName ಗಾಗಿ ಮೌಲ್ಯವನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡೋಣ. |
04:03 | ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ: emp1.setName("Jayesh");
emp1.setEmail("pqr@gmail.com"); |
04:16 | ಉದ್ಯೋಗಿಯ ವಿವರಗಳನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಲು ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ:
System.out.println("Details of Employee class:" emp1.getDetails()) semicolon. |
04:37 | Employee ಕ್ಲಾಸ್ ರೆಫರೆನ್ಸ್ ಗಾಗಿ, Manager ಅಬ್ಜೆಕ್ಟ್ emp2 ಅನ್ನು ನಾವು ಇನ್ಸ್ಟಾಂಶಿಯೇಟ್ ಮಾಡೋಣ.
ಅಂದರೆ, Employee emp2 = new Manager open and close parenthesis semicolon ಎಂದು ಟೈಪ್ ಮಾಡಿ. |
04:54 | ನಾವಿದನ್ನು ಮಾಡಲು ಸಾಧ್ಯ. ಏಕೆಂದರೆ, ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು IS-A ಪರೀಕ್ಷೆಯನ್ನು ತೇರ್ಗಡೆ ಹೊಂದಿದ ಯಾವುದೇ ಜಾವಾ ಅಬ್ಜೆಕ್ಟ್,ಪಾಲಿಮಾರ್ಫಿಕ್ ಆಗಿರುತ್ತದೆ. |
05:04 | ಜಾವಾದಲ್ಲಿ ಎಲ್ಲಾ ಅಬ್ಜೆಕ್ಟ್ ಗಳು ಪಾಲಿಮಾರ್ಫಿಕ್ ಆಗಿರುತ್ತವೆ. ಏಕೆಂದರೆ ಯಾವುದೇ ಅಬ್ಜೆಕ್ಟ್, ಇಲ್ಲಿ ತನ್ನ ಸ್ವಂತದ ಟೈಪ್ ಮತ್ತು ಕ್ಲಾಸ್ ಅಬ್ಜೆಕ್ಟ್ಗಾಗಿ IS-A ಟೆಸ್ಟ್ ಅನ್ನು ಪಾಸ್ ಮಾಡುತ್ತದೆ. |
05:16 | Manager IS-A Employee.
Manager IS-A ಮ್ಯಾನೇಜರ್. Manager IS-A ಅಬ್ಜೆಕ್ಟ್. |
05:23 | ರೆಫರನ್ಸ್ ವೇರಿಯಬಲ್ ಮೂಲಕ ಮಾತ್ರ ಯಾವುದೇ ಅಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಆಕ್ಸೆಸ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. |
05:29 | emp1, emp2 ಮತ್ತು manager ನಂತಹ ರೆಫರನ್ಸ್ ವೇರಿಯಬಲ್ ಗಳು. |
05:36 | ಇಲ್ಲಿ ನಾವು ಎರಡು manager ಅಬ್ಜೆಕ್ಟ್ ಗಳನ್ನು ಇನ್ಸ್ಟಾಂಶಿಯೇಟ್ ಮಾಡಿದ್ದೇವೆ:
ಒಂದು Employee ಕ್ಲಾಸ್ ಅನ್ನು ರೆಫರನ್ಸ್ ಮಾಡುತ್ತದೆ. ಇನ್ನೊಂದು manager ಕ್ಲಾಸ್ ಅನ್ನು ರೆಫರನ್ಸ್ ಮಾಡುತ್ತದೆ. |
05:47 | ನಾವು emp2 ಅಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಬಳಸಿ, setEmail, setName ಮತ್ತು setDepartment ನ ವ್ಯಾಲ್ಯೂಗಳನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡೋಣ. |
05:55 | ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ:
emp2.setName("Ankita"); emp2.setEmail(“xyz@gmail.com”); emp2.setDepartment(“IT”); |
06:14 | ನಾವು ಇಲ್ಲಿ, "The method setDepartment(String) is undefined for the type Employee" ಎಂಬ ಒಂದು ಎರರ್ ಅನ್ನು ನೋಡುತ್ತೇವೆ. |
06:23 | ಏಕೆಂದರೆ, Employee ಕ್ಲಾಸ್ ಗಾಗಿ, setDepartment ಮೆಥಡ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ. |
06:30 | ಹೀಗಾಗಿ ಈ ಕೆಳಗಿನ ಸಾಲನ್ನು ತೆಗೆದುಬಿಡಿ:
emp2.setDepartment("IT"); |
06:37 | ವಿವರಗಳನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಲು, ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ:
System.out.println("Details of Manager class:" emp2.getDetails()) semicolon |
06:55 | ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸೇವ್ ಮಾಡಿ ಮತ್ತು ರನ್ ಮಾಡಿ. |
06:58 | ಇಲ್ಲಿ ಔಟ್ಪುಟ್ ನಲ್ಲಿ, Manager of: ಖಾಲಿ ಇದೆ. |
07:04 | ಏಕೆಂದರೆ, manager ಕ್ಲಾಸ್ ನಲ್ಲಿ ನಾವು emp2 ಬಳಸಿ Department ಅನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡಿಲ್ಲ. |
07:12 | ವಿವರಣೆಗಾಗಿ, ಡಿಫಾಲ್ಟ್ Department IT ಎಂದು ಇರಲಿ. |
07:17 | manager ಕ್ಲಾಸ್ ಗೆ ಹೋಗಿ ಮತ್ತು Department ಗಾಗಿ ವ್ಯಾಲ್ಯೂವನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡಿ. |
07:25 | ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸೇವ್ ಮಾಡಿ ಮತ್ತು ರನ್ ಮಾಡಿ. |
07:28 | ನಾವು ಈ ಔಟ್ಪುಟ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ: Employee ಅಬ್ಜೆಕ್ಟ್, Employee ಕ್ಲಾಸ್ ಅನ್ನು ರೆಫರ್ ಮಾಡುತ್ತದೆ. |
07:34 | Manager ಅಬ್ಜೆಕ್ಟ್, Employee ಕ್ಲಾಸ್ ಅನ್ನು ರೆಫರ್ ಮಾಡುತ್ತದೆ. ಮತ್ತು Manager ಅಬ್ಜೆಕ್ಟ್, Manager ಕ್ಲಾಸ್ ಅನ್ನು ರೆಫರ್ ಮಾಡುತ್ತದೆ. |
07:42 | ಇಲ್ಲಿ emp2, Manager ಕ್ಲಾಸ್ ನ getDetails() ಮೆಥಡ್ ಅನ್ನು ಕಾಲ್ ಮಾಡುತ್ತದೆ. |
07:49 | ಆದರೆ emp2, setDepartment ಅನ್ನು ಕಾಲ್ ಮಾಡಲು ಯತ್ನಿಸಿದಾಗ, ನಮಗೆ ಎರರ್ ಸಿಕ್ಕಿತ್ತು. |
07:54 | ಇದಕ್ಕೆ ಕಾರಣ ಹೀಗಿದೆ:
emp2.getDetails() ನಲ್ಲಿ ಕಂಪೈಲರ್, Employee ಕ್ಲಾಸ್ ನಲ್ಲಿ getDetails() ಮೆಥಡ್ ಅನ್ನು ನೋಡುತ್ತದೆ. |
08:05 | ಹೀಗಾಗಿ ಇದು ಎರರ್ ಕೊಡುವುದಿಲ್ಲ. ಬದಲಾಗಿ ಕೋಡ್ ಅನ್ನು ಒಪ್ಪಿಕೊಳ್ಳುತ್ತದೆ. |
08:10 | ಆದರೆ ರನ್ ಟೈಂನಲ್ಲಿ JVM, Manager ಕ್ಲಾಸ್ ನಲ್ಲಿ getDetails() ಅನ್ನು ಇನ್ವೋಕ್ ಮಾಡುತ್ತದೆ. ಏಕೆಂದರೆ Manager ಕ್ಲಾಸ್ ನ getDetails(), Employee ಕ್ಲಾಸ್ ನ getDetails() ಅನ್ನು ಓವರ್-ರೈಡ್ ಮಾಡುತ್ತದೆ. |
08:24 | ಹೀಗಾಗಿ, ನಾವು Manager ಕ್ಲಾಸ್ ನ getDetails() ಪ್ರಕಾರ ಔಟ್ಪುಟ್ ಪಡೆಯುತ್ತೇವೆ. ಆದರೆ ಕಂಪೈಲರ್, Employee ಕ್ಲಾಸ್ ನಲ್ಲಿಯ setDepartment() ಮೆಥಡ್ ಅನ್ನು ನೋಡುವುದಿಲ್ಲ. |
08:36 | ಆದ್ದರಿಂದ, emp2, setDepartment() ಅನ್ನು ಕಾಲ್ ಮಾಡಿದಾಗ, ಇದು ಎರರ್ ಅನ್ನು ತೋರಿಸುತ್ತದೆ. |
08:43 | ಇಲ್ಲಿ, Employee ಕ್ಲಾಸ್ ಗಾಗಿ, Employee ಯ ಮೆಥಡ್ getDetails() ಅನ್ನು ಇನ್ವೋಕ್ ಮಾಡಲಾಗುತ್ತದೆ. |
08:49 | emp1.getDetails() ನಲ್ಲಿ, getDetails() ಗಾಗಿ ಕಂಪೈಲರ್, Employee ಕ್ಲಾಸ್ ಅನ್ನು ರೆಫರೆನ್ಸ್ ಮಾಡುತ್ತದೆ. |
08:57 | ರನ್ ಟೈಂ ನಲ್ಲಿ, JVM, Employee ಕ್ಲಾಸ್ ನ getDetails() ಅನ್ನು ಇನ್ವೋಕ್ ಮಾಡುತ್ತದೆ. ಹೀಗಾಗಿ, ನಾವು Employee ಕ್ಲಾಸ್ ನ getDetails() ಪ್ರಕಾರ ಔಟ್ಪುಟ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ. |
09:08 | ಹೀಗೆ, ಪ್ರತಿಯೊಂದು ವೇರಿಯೇಬಲ್ ನಲ್ಲಿ ರೆಫರ್ ಮಾಡಲಾದ ಅಬ್ಜೆಕ್ಟ್ ಗೆ ಸರಿಯಾದ ಮೆಥಡ್ ಅನ್ನು JVM ಕಾಲ್ ಮಾಡುತ್ತದೆ. |
09:16 | ಇದನ್ನು “ವರ್ಚುವಲ್ ಮೆಥಡ್ ಇನ್ವೊಕೇಶನ್” ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. |
09:21 | ಈ ಮೆಥಡ್ ಗಳನ್ನು ವರ್ಚುವಲ್ ಮೆಥಡ್ಸ್ ಎಂದು ಹೇಳಲಾಗುತ್ತದೆ. |
09:26 | ಜಾವಾದಲ್ಲಿಯ ಎಲ್ಲಾ ಮೆಥಡ್ ಗಳು ಇದೇ ರೀತಿಯಲ್ಲಿ ವರ್ತಿಸುತ್ತವೆ. |
09:31 | “ವರ್ಚುವಲ್ ಮೆಥಡ್ ಇನ್ವೊಕೇಶನ್” ಬಗ್ಗೆ ನಾವು ತಿಳಿದುಕೊಂಡೆವು. |
09:36 | “ಕಂಪೈಲ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ”, ಅಂದರೆ, ಮೆಥಡ್ ಓವರ್-ಲೋಡಿಂಗ್ ಬಗ್ಗೆ ನಾವು ಈಗಾಗಲೇ ಕಲಿತಿದ್ದೇವೆ. |
09:42 | ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಈಗ “ಕಂಪೈಲ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ” ಕುರಿತು ಕಲಿಯೋಣ. |
09:47 | “ಕಂಪೈಲ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ” ನಲ್ಲಿ, ಕ್ಲಾಸ್ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಮೆಥಡ್ ಗಳನ್ನು ಹೊಂದಿರಬಹುದು. |
09:53 | ಈ ಮೆಥಡ್ ಗಳು ಒಂದೇ ಹೆಸರನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಆದರೆ ಆರ್ಗ್ಯುಮೆಂಟ್ ಗಳ ಸಂಖ್ಯೆಯು ಬೇರೆ ಆಗಿರುತ್ತದೆ. |
09:59 | ಕಂಪೈಲ್ ಟೈಂನಲ್ಲಿ, ಕಾಲ್ ಮಾಡಿದ ಮೆಥಡ್ ಅನ್ನು ಕಂಪೈಲರ್ ಗುರುತಿಸುತ್ತದೆ. ಈ ಕಾರಣಕ್ಕಾಗಿ, ಇದನ್ನು “ಕಂಪೈಲ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ” ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. |
10:09 | ಸಂಕ್ಷಿಪ್ತವಾಗಿ, |
10:11 | ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು:
ಜಾವಾ ದಲ್ಲಿ ಪಾಲಿಮಾರ್ಫಿಸಂ ಎಂದರೇನು? ರನ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ, ವರ್ಚುವಲ್ ಮೆಥಡ್ ಇನ್ವೊಕೇಶನ್ ಮತ್ತು ಕಂಪೈಲ್ ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಕುರಿತು ಕಲಿತೆವು. |
10:23 | ಇಲ್ಲೊಂದು ಅಸೈನ್ ಮೆಂಟ್ ಇದೆ.
ಹಿಂದಿನ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು ಬಳಸಿದ Vehicle ಮತು Bike ಕ್ಲಾಸ್ ಗಳಿಗಾಗಿ ಮೆಥಡ್ ಗಳನ್ನು ಓವರ್-ರೈಡ್ ಮಾಡಿ. |
10:32 | ಈ ಕೆಳಗಿನ ಲಿಂಕ್ ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ವೀಡಿಯೊ, ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಪ್ರಾಜೆಕ್ಟ್ ನ ಸಾರಾಂಶವಾಗಿದೆ. ದಯವಿಟ್ಟು ವೀಕ್ಷಿಸಿ. |
10:40 | ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಪ್ರಾಜೆಕ್ಟ್ ತಂಡವು ಕಾರ್ಯಶಾಲೆಗಳನ್ನು ನಡೆಸುತ್ತದೆ ಮತ್ತು ಆನ್ ಲೈನ್ ಪರೀಕ್ಷೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣರಾದವರಿಗೆ ಪ್ರಮಾಣಪತ್ರವನ್ನು ನೀಡುತ್ತದೆ. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ನಮಗೆ ಬರೆಯಿರಿ. |
10:51 | ‘ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್’ ಪ್ರೊಜೆಕ್ಟ್, NMEICT, MHRD, ಭಾರತ ಸರ್ಕಾರದ ನೆರವು ಪಡೆದಿದೆ. ಕೆಳಗಿನ ಲಿಂಕ್ ನಲ್ಲಿ ಈ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿ ಲಭ್ಯವಿದೆ. |
11:03 | ಈ ಸ್ಕ್ರಿಪ್ಟ್ ನ ಅನುವಾದಕರು ಮಂಗಳೂರಿನಿಂದ ಮೆಲ್ವಿನ್ ಮತ್ತು ಧ್ವನಿ ಶ್ರೀ ನವೀನ್ ಭಟ್, ಉಪ್ಪಿನಪಟ್ಟಣ.
ಧನ್ಯವಾದಗಳು. |