Difference between revisions of "Java/C3/Polymorphism/Kannada"

From Script | Spoken-Tutorial
Jump to: navigation, search
 
(6 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
|-
 
|-
 
||00:01
 
||00:01
|| ಜಾವಾದಲ್ಲಿ ಪಾಲಿಮಾರ್ಫಿಸಂ ಕುರಿತ ಸ್ಪೋಕನ್‌ ಟ್ಯುಟೋರಿಯಲ್‌ ಗೆ ಸ್ವಾಗತ.
+
|| ಜಾವಾದಲ್ಲಿ '''Polymorphism''' (ಪಾಲಿಮಾರ್ಫಿಸಂ) ಕುರಿತ ಸ್ಪೋಕನ್‌ ಟ್ಯುಟೋರಿಯಲ್‌ ಗೆ ಸ್ವಾಗತ.
  
 
|-
 
|-
 
||00:06
 
||00:06
|| ಈ ಟ್ಯುಟೋರಿಯಲ್‌ ನಲ್ಲಿ ನಾವು ಈ ಕೆಳಗಿನ ವಿಷಯಗಳನ್ನು ಕಲಿಯಲಿದ್ದೇವೆ:
+
|| ಈ ಟ್ಯುಟೋರಿಯಲ್‌ ನಲ್ಲಿ ನಾವು:
ಜಾವಾದಲ್ಲಿ ಪಾಲಿಮಾರ್ಫಿಸಂ
+
ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ
+
ಜಾವಾದಲ್ಲಿ ಪಾಲಿಮಾರ್ಫಿಸಂ,
 +
 
 +
ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ,
 +
 
 
ವರ್ಚುವಲ್‌ ಮೆಥಡ್‌ ಇನ್ವೊಕೇಶನ್‌ ಮತ್ತು
 
ವರ್ಚುವಲ್‌ ಮೆಥಡ್‌ ಇನ್ವೊಕೇಶನ್‌ ಮತ್ತು
ಕಂಪೈಲ್‌-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ.
+
 
 +
ಕಂಪೈಲ್‌-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಇವುಗಳ ಬಗ್ಗೆ ಕಲಿಯಲಿದ್ದೇವೆ.
  
 
|-
 
|-
||00:10
+
||00:19
 
||ಇಲ್ಲಿ ನಾವು,
 
||ಇಲ್ಲಿ ನಾವು,
ಉಬಂಟು ಲೀನಕ್ಸ್‌ ವರ್ಶನ್‌ 12.04,
+
ಉಬಂಟು ಲಿನಕ್ಸ್‌  ಆವೃತ್ತಿ '''12.04''',
JDK ವರ್ಶನ್ 1.7 ಮತ್ತು  
+
'''JDK''' ಆವೃತ್ತಿ '''1.7''' ಮತ್ತು  
ಎಕ್ಲಿಪ್ಸ್ 4.3.1 ಬಳಸಲಿದ್ದೇವೆ.
+
''' 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
 
|| ಪಾಲಿಮಾರ್ಫಿಸಂನ ಪ್ರಮುಖ ಲಾಭಗಳೆಂದರೆ:
 
|| ಪಾಲಿಮಾರ್ಫಿಸಂನ ಪ್ರಮುಖ ಲಾಭಗಳೆಂದರೆ:
1. ಸಂಕೀರ್ಣತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು ಮತ್ತು
+
ಸಂಕೀರ್ಣತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು ಮತ್ತು ಕೋಡ್‌ ಅನ್ನು ಮತ್ತೆ ಬಳಸುವ ಸಾಧ್ಯತೆ.
2. ಕೋಡ್‌ ಮರುಬಳಕೆಯ ಸಾಧ್ಯತೆ.
+
  
 
|-
 
|-
 
||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
|| ಮ್ಯಾನೇಜರ್‌ ಕ್ಲಾಸ್‌ ವಿಧಾನ getDetails(), ಎಂಪ್ಲೋಯಿ ಕ್ಲಾಸ್‌ ವಿಧಾನ getDetails() ಅನ್ನು ಓವರ್‌ ರೈಡ್‌ ಮಾಡುತ್ತದೆ.
+
|| '''Manager''' ಕ್ಲಾಸ್‌ ನ ಮೆಥಡ್ '''getDetails()''', '''Employee''' ಕ್ಲಾಸ್‌ ನ ಮೆಥಡ್ '''getDetails()''' ಅನ್ನು ಓವರ್‌-ರೈಡ್‌ ಮಾಡುತ್ತದೆ.
  
 
|-
 
|-
 
||02:08
 
||02:08
|| ನಾವು getDetails() ವಿಧಾನವನ್ನು ಮ್ಯಾನೇಜರ್‌ ಕ್ಲಾಸ್‌ ಅಬ್ಜೆಕ್ಟ್‌, ಅಂದರೆ ಮ್ಯಾನೇಜರ್‌ ನಿಂದ ಕರೆಯುತ್ತೇವೆ.
+
|| '''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 ಕೀವರ್ಡ್‌ ಗಳನ್ನು ತೆಗೆಯಿರಿ.
+
|| ವೇರಿಯೇಬಲ್‌ ನೇಮ್‌ ನಲ್ಲಿ, '''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
|| ನಾವು ಎಂಪ್ಲೋಯೀ ಕ್ಲಾಸ್‌ ನಲ್ಲಿ setName() ವಿಧಾನವನ್ನು ಅನ್‌ ಕಮೆಂಟ್‌ ಮಾಡಿರುವುದನ್ನು ಈ ಇನ್ಸ್ಟನ್ಸ್‌ ಅನ್ನು ನಾವು ಅನ್‌ ಕಮೆಂಟ್‌ ಮಾಡಿದ್ದೇವೆ.
+
|| '''Employee''' ಕ್ಲಾಸ್‌ ನಲ್ಲಿ '''setName()''' ಮೆಥಡ್‌ ಅನ್ನು ನಾವು ಅನ್‌-ಕಮೆಂಟ್‌ ಮಾಡಿದ್ದರಿಂದ, ಈ ಇನ್ಸ್ಟನ್ಸ್‌ ಅನ್ನು ಅನ್‌-ಕಮೆಂಟ್‌ ಮಾಡಿದ್ದೇವೆ.
  
 
|-
 
|-
 
||03:38
 
||03:38
|| ನಾವೀಗ ಎಂಪ್ಲೋಯೀ ಕ್ಲಾಸ್‌ ರೆಫರನ್ಸ್‌ ಗೆ ಎಂಪ್ಲೋಯೀ ಅಬ್ಜೆಕ್ಟ್‌ emp1 ಅನ್ನು ಇನ್ಸ್ಟಾಂಶಿಯೇಟ್ (ದೃಷ್ಟಾಂತೀಕರಣ) ಮಾಡೋಣ.
+
|| ನಾವೀಗ '''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
|| ನಾವೀಗ ಎಂಪ್ಲೋಯೀ ಕ್ಲಾಸ್‌ ಗಾಗಿ setEmail ಮತ್ತು setName ಗಾಗಿ ಮೌಲ್ಯವನ್ನು ಇನಿಶಿಯಲೈಸ್ (ಅನುಸ್ಥಾಪನೆ) ಮಾಡೋಣ ಮಾಡೋಣ.
+
|| ನಾವೀಗ '''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
|| ಎಂಪ್ಲೋಯೀ ಕ್ಲಾಸ್‌ ರೆಫರೆನ್ಸ್‌ ಗಾಗಿ ಮ್ಯಾನೇಜರ್‌ ಅಬ್ಜೆಕ್ಟ್‌ emp2 ಗೆ ನಾವು ಇನ್ಸ್ಟಾಂಶಿಯೇಟ್ ಮಾಡೋಣ.
+
|| '''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 ಪರೀಕ್ಷೆಯನ್ನು ತೇರ್ಗಡೆ ಹೊಂಡುವ ಯಾವುದೇ ಜಾವಾ ಅಬ್ಜೆಕ್ಟ್‌, ಪಾಲಿಮಾರ್ಫಿಕ್‌ ಆಗಿರುತ್ತದೆ.
+
|| ನಾವಿದನ್ನು ಮಾಡಲು ಸಾಧ್ಯ. ಏಕೆಂದರೆ, ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು IS-A ಪರೀಕ್ಷೆಯನ್ನು ತೇರ್ಗಡೆ ಹೊಂದಿದ ಯಾವುದೇ ಜಾವಾ ಅಬ್ಜೆಕ್ಟ್‌,ಪಾಲಿಮಾರ್ಫಿಕ್‌ ಆಗಿರುತ್ತದೆ.
  
 
|-
 
|-
 
||05:04
 
||05:04
|| ಜಾವಾದಲ್ಲಿ ಎಲ್ಲಾ ಅಬ್ಜೆಕ್ಟ್‌ ಗಳು ಪಾಲಿಮಾರ್ಫಿಕ್‌ ಆಗಿರುತ್ತವೆ, ಏಕೆಂದರೆ ಯಾವುದೇ ಅಬ್ಜೆಕ್ಟ್‌ ಇಲ್ಲಿ ತನ್ನ ಸ್ವಂತ ಪ್ರಕಾರ ಮತ್ತು ಕ್ಲಾಸ್‌ ಅಬ್ಜೆಕ್ಟ್‌ ಗೆ IS-A ಪರೀಕ್ಷೆಯನ್ನು ತೇರ್ಗಡೆ ಹೊಂದುತ್ತದೆ.
+
|| ಜಾವಾದಲ್ಲಿ ಎಲ್ಲಾ ಅಬ್ಜೆಕ್ಟ್‌ ಗಳು ಪಾಲಿಮಾರ್ಫಿಕ್‌ ಆಗಿರುತ್ತವೆ. ಏಕೆಂದರೆ ಯಾವುದೇ ಅಬ್ಜೆಕ್ಟ್‌, ಇಲ್ಲಿ ತನ್ನ ಸ್ವಂತದ ಟೈಪ್ ಮತ್ತು ಕ್ಲಾಸ್‌ ಅಬ್ಜೆಕ್ಟ್‌ಗಾಗಿ IS-A ಟೆಸ್ಟ್ ಅನ್ನು ಪಾಸ್ ಮಾಡುತ್ತದೆ.
  
 
|-
 
|-
 
||05:16
 
||05:16
|| ಮ್ಯಾನೇಜರ್‌ ಒಬ್ಬರು IS-A ಎಂಪ್ಲೋಯೀ.
+
|| Manager '''IS-A''' Employee.
ಮ್ಯಾನೇಜರ್‌ ಒಬ್ಬರು IS-A ಮ್ಯಾನೇಜರ್.
+
 
ಮ್ಯಾನೇಜರ್‌ ಒಬ್ಬರು IS-A ಅಬ್ಜೆಕ್ಟ್.
+
Manager  '''IS-A''' ಮ್ಯಾನೇಜರ್.
 +
 
 +
Manager '''IS-A''' ಅಬ್ಜೆಕ್ಟ್.
  
 
|-
 
|-
 
||05:23
 
||05:23
|| ಯಾವುದೇ ಅಬ್ಜೆಕ್ಟ್‌ ಅನ್ನು ಆಕ್ಸೆಸ್‌ ಮಾಡಲು ರೆಫರನ್ಸ್‌ ವೇರಿಯಬಲ್‌ ಸಂಭವನೀಯ ದಾರಿಯಾಗಿದೆ.
+
|| ರೆಫರನ್ಸ್‌ ವೇರಿಯಬಲ್‌ ಮೂಲಕ ಮಾತ್ರ ಯಾವುದೇ ಅಬ್ಜೆಕ್ಟ್‌ ಅನ್ನು ಆಕ್ಸೆಸ್‌ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.
  
 
|-
 
|-
 
||05:29
 
||05:29
|| ರೆಫರನ್ಸ್‌ ವೇರಿಯಬಲ್‌ ಗಳು emp1, emp2 ಮತ್ತು manager ತರ ಇವೆ.
+
|| '''emp1, emp2''' ಮತ್ತು '''manager''' ನಂತಹ ರೆಫರನ್ಸ್‌ ವೇರಿಯಬಲ್‌ ಗಳು.
  
 
|-
 
|-
 
||05:36
 
||05:36
|| ಇಲ್ಲಿ ನಾವು ಎರಡು ಮ್ಯಾನೇಜರ್‌ ಅಬ್ಜೆಕ್ಟ್‌ ಗಳನ್ನು ಇನ್ಸ್ಟಾಂಶಿಯೇಟ್ ಮಾಡುತ್ತೇವೆ:
+
|| ಇಲ್ಲಿ ನಾವು ಎರಡು '''manager''' ಅಬ್ಜೆಕ್ಟ್‌ ಗಳನ್ನು ಇನ್ಸ್ಟಾಂಶಿಯೇಟ್ ಮಾಡಿದ್ದೇವೆ:
ಒಂದು ಎಂಪ್ಲೋಯೀ ಕ್ಲಾಸ್‌ ಅನ್ನು ರೆಫರನ್ಸ್‌ ಮಾಡುತ್ತದೆ. ಇನ್ನೊಂದು ಮ್ಯಾನೇಜರ್‌ ಕ್ಲಾಸ್‌ ಅನ್ನು ರೆಫರನ್ಸ್‌ ಮಾಡುತ್ತದೆ.
+
ಒಂದು '''Employee''' ಕ್ಲಾಸ್‌ ಅನ್ನು ರೆಫರನ್ಸ್‌ ಮಾಡುತ್ತದೆ. ಇನ್ನೊಂದು '''manager''' ಕ್ಲಾಸ್‌ ಅನ್ನು ರೆಫರನ್ಸ್‌ ಮಾಡುತ್ತದೆ.
  
 
|-
 
|-
 
||05:47
 
||05:47
|| ನಾವೀಗ emp2 ಅಬ್ಜೆಕ್ಟ್‌ ಬಳಸಿ setEmail, setName ಮತ್ತು setDepartment ನ ಮೌಲ್ಯಗಳ ಇನಿಶಿಯಲೈಸ್ ಮಾಡೋಣ.
+
|| ನಾವು '''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
|| ನಾವು ಇಲ್ಲೊಂದು ದೋಷವನ್ನು ನೋಡಬಹುದು, `` setDepartment (ಸ್ಟ್ರಿಂಗ್) ವಿಧಾನವನ್ನು ಎಂಪ್ಲೋಯೀ ಪ್ರಕಾರಕ್ಕೆ ನಿರೂಪಿಸಿಲ್ಲ.ʼʼ
+
|| ನಾವು ಇಲ್ಲಿ, '''"The method setDepartment(String) is undefined for the type Employee"''' ಎಂಬ ಒಂದು ಎರರ್ ಅನ್ನು ನೋಡುತ್ತೇವೆ.
  
 
|-
 
|-
 
||06:23
 
||06:23
|| ಇದು ಏಕೆಂದರೆ setDepartment ವಿಧಾನವು ಎಂಪ್ಲೋಯೀ ಕ್ಲಾಸ್‌ ಗೆ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ.
+
|| ಏಕೆಂದರೆ, '''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
|| ಇದು ಏಕೆಂದರೆ ನಾವು emp2 ಬಳಸಿ ಮ್ಯಾನೇಜರ್‌ ಕ್ಲಾಸ್‌ ನಲ್ಲಿ ಡಿಪಾರ್ಟ್‌ ಮೆಂಟ್‌ ನ ಇನಿಶಿಯಲೈಸ್ ಮಾಡಿಲ್ಲ.
+
|| ಏಕೆಂದರೆ, '''manager''' ಕ್ಲಾಸ್‌ ನಲ್ಲಿ ನಾವು '''emp2''' ಬಳಸಿ '''Department''' ಅನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡಿಲ್ಲ.
  
 
|-
 
|-
 
||07:12
 
||07:12
|| ಪ್ರಾತ್ಯಕ್ಷಿಕೆ ಉದ್ದೇಶಕ್ಕಾಗಿ ಡಿಫಾಲ್ಟ್ ಡಿಪಾರ್ಟ್‌ ಮೆಂಟ್‌ IT ಎಂಬುದಾಗಿ ಇರಲಿ.
+
|| ವಿವರಣೆಗಾಗಿ, ಡಿಫಾಲ್ಟ್ '''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
|| ಮ್ಯಾನೇಜರ್‌ ಕ್ಲಾಸ್‌ ನ getDetails() ವಿಧಾನವನ್ನು emp2 ಎಂಬುದಾಗಿ ನಾವಿಲ್ಲಿ ಕರೆಯುತ್ತೇವೆ.
+
|| ಇಲ್ಲಿ '''emp2''', '''Manager''' ಕ್ಲಾಸ್‌ ನ '''getDetails()''' ಮೆಥಡ್ ಅನ್ನು ಕಾಲ್ ಮಾಡುತ್ತದೆ.  
  
 
|-
 
|-
 
||07:49
 
||07:49
|| ಆದರೆ emp2ಯು setDepartment ಕರೆಯಲು ಯತ್ನಿಸಿದಾಗ, ದೋಷ ಕಂಡುಬಂತು.
+
|| ಆದರೆ '''emp2''', '''setDepartment''' ಅನ್ನು ಕಾಲ್ ಮಾಡಲು ಯತ್ನಿಸಿದಾಗ, ನಮಗೆ ಎರರ್ ಸಿಕ್ಕಿತ್ತು.
  
 
|-
 
|-
 
||07:54
 
||07:54
|| ಈ ಕೆಳಗಿನ ಕಾರಣದಿಂದಾಗಿ ಇದು ಉಂಟಾಗಿದೆ:
+
|| ಇದಕ್ಕೆ ಕಾರಣ ಹೀಗಿದೆ:
emp2.getDetails() ವೇಳೆ ಎಂಪ್ಲೋಯೀ ಕ್ಲಾಸ್‌ ನಲ್ಲಿ ಕಂಪೈಲರ್‌, getDetails() ವಿಧಾನವನ್ನು ನೋಡುತ್ತದೆ.  
+
emp2.getDetails() ನಲ್ಲಿ ಕಂಪೈಲರ್‌, '''Employee''' ಕ್ಲಾಸ್‌ ನಲ್ಲಿ getDetails() ಮೆಥಡ್ ಅನ್ನು ನೋಡುತ್ತದೆ.  
  
 
|-
 
|-
 
||08:05
 
||08:05
|| ಹೀಗಾಗಿ ಇದು ದೋಷವನ್ನುಂಟು ಮಾಡುವುದಿಲ್ಲ, ಬದಲಾಗಿ ಕೋಡ್‌ ಅನ್ನು ಊರ್ಜಿತಗೊಳಿಸುತ್ತದೆ.
+
|| ಹೀಗಾಗಿ ಇದು ಎರರ್ ಕೊಡುವುದಿಲ್ಲ. ಬದಲಾಗಿ ಕೋಡ್‌ ಅನ್ನು ಒಪ್ಪಿಕೊಳ್ಳುತ್ತದೆ.
  
 
|-
 
|-
 
||08:10
 
||08:10
|| ಆದರೆ ರನ್‌ ಟೈಂನಲ್ಲಿ ಜೆ.ವಿ.ಎಂ, ಮ್ಯಾನೇಜರ್‌ ಕ್ಲಾಸ್‌ ನಲ್ಲಿ getDetails() ಅನ್ನು ಇನ್ವೋಕ್ ಮಾಡುತ್ತದೆ. ಏಕೆಂದರೆ ಮ್ಯಾನೇಜರ್‌ ಕ್ಲಾಸ್‌ ನ getDetails() ಎಂಪ್ಲೋಯೀ ಕ್ಲಾಸ್‌ ನ getDetails() ಅನ್ನು ಅತಿಕ್ರಮಿಸುತ್ತದೆ.   
+
|| ಆದರೆ ರನ್‌ ಟೈಂನಲ್ಲಿ JVM, '''Manager''' ಕ್ಲಾಸ್‌ ನಲ್ಲಿ getDetails() ಅನ್ನು ಇನ್ವೋಕ್ ಮಾಡುತ್ತದೆ. ಏಕೆಂದರೆ '''Manager''' ಕ್ಲಾಸ್‌ ನ getDetails(), '''Employee''' ಕ್ಲಾಸ್‌ ನ getDetails() ಅನ್ನು ಓವರ್-ರೈಡ್ ಮಾಡುತ್ತದೆ.   
  
 
|-
 
|-
 
||08:24
 
||08:24
|| ಹೀಗಾಗಿ ನಾವು ಮ್ಯಾನೇಜರ್‌ ಕ್ಲಾಸ್‌ ನ getDetails() ಪ್ರಕಾರ ಔಟ್ಪುಟ್‌ ಪಡೆಯುತ್ತೇವೆ. ಆದರೆ ಕಂಪೈಲರ್‌, ಎಂಪ್ಲೋಯೀ ಕ್ಲಾಸ್‌ ನ setDepartment ವಿಧಾನವನ್ನು ನೋಡುವುದಿಲ್ಲ.
+
|| ಹೀಗಾಗಿ, ನಾವು '''Manager''' ಕ್ಲಾಸ್‌ ನ getDetails() ಪ್ರಕಾರ ಔಟ್ಪುಟ್‌ ಪಡೆಯುತ್ತೇವೆ. ಆದರೆ ಕಂಪೈಲರ್‌, '''Employee''' ಕ್ಲಾಸ್‌ ನಲ್ಲಿಯ  s'''etDepartment()''' ಮೆಥಡ್ ಅನ್ನು ನೋಡುವುದಿಲ್ಲ.
  
 
|-
 
|-
 
||08:36
 
||08:36
|| ಹೀಗಾಗಿ, setDepartment ಅನ್ನು emp2 ಎಂದು ಕರೆದಾಗ ಇದು ದೋಷವನ್ನು ತೋರಿಸುತ್ತದೆ.
+
|| ಆದ್ದರಿಂದ, '''emp2''', '''setDepartment()''' ಅನ್ನು ಕಾಲ್ ಮಾಡಿದಾಗ, ಇದು ಎರರ್ ಅನ್ನು ತೋರಿಸುತ್ತದೆ.
  
 
|-
 
|-
 
||08:43
 
||08:43
|| ಇಲ್ಲಿ ಎಂಪ್ಲೋಯೀ ವಿಧಾನ getDetails() ಅನ್ನು ಎಂಪ್ಲೋಯೀ ಕ್ಲಾಸ್‌ ಗೆ ಇನ್ವೋಕ್ ಮಾಡಲಾಗುತ್ತದೆ.  
+
|| ಇಲ್ಲಿ, '''Employee''' ಕ್ಲಾಸ್‌ ಗಾಗಿ, '''Employee''' ಯ ಮೆಥಡ್ getDetails() ಅನ್ನು ಇನ್ವೋಕ್ ಮಾಡಲಾಗುತ್ತದೆ.  
  
 
|-
 
|-
 
||08:49
 
||08:49
|| emp1.getDetails() ವೇಳೆ getDetails() ಗಾಗಿ ಕಂಪೈಲರ್‌, ಎಂಪ್ಲೋಯೀ ಕ್ಲಾಸ್‌ ಅನ್ನು ಉಲ್ಲೇಖಿಸುತ್ತದೆ.
+
|| '''emp1.getDetails()''' ನಲ್ಲಿ, getDetails() ಗಾಗಿ ಕಂಪೈಲರ್‌, '''Employee''' ಕ್ಲಾಸ್‌ ಅನ್ನು ರೆಫರೆನ್ಸ್ ಮಾಡುತ್ತದೆ.
  
 
|-
 
|-
 
||08:57
 
||08:57
|| ರನ್‌ ಟೈಂ ವೇಳೆ ಜೆ.ವಿ.ಎಂ, ಎಂಪ್ಲೋಯೀ ಕ್ಲಾಸ್‌ ನಲ್ಲಿ getDetails() ಅನ್ನು ಆಮಂತ್ರಿಸುತ್ತದೆ. ಹೀಗೆ, ನಾವು ಔಟ್ಪುಟ್‌ ಅನ್ನು ಎಂಪ್ಲೋಯೀ ಕ್ಲಾಸ್‌ ನ getDetails() ಪ್ರಕಾರ ಪಡೆಯುತ್ತೇವೆ.
+
|| ರನ್‌ ಟೈಂ ನಲ್ಲಿ, 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 350: 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 ಈ ಸ್ಕ್ರಿಪ್ಟ್ ನ ಅನುವಾದಕರು ಮಂಗಳೂರಿನಿಂದ ಮೆಲ್ವಿನ್ ಮತ್ತು ಧ್ವನಿ ಶ್ರೀ ನವೀನ್ ಭಟ್, ಉಪ್ಪಿನಪಟ್ಟಣ.

ಧನ್ಯವಾದಗಳು.

Contributors and Content Editors

Sandhya.np14