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

From Script | Spoken-Tutorial
Jump to: navigation, search
 
(2 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
|-
 
|-
 
||00:06
 
||00:06
|| ಈ ಟ್ಯುಟೋರಿಯಲ್‌ ನಲ್ಲಿ ನಾವು,
+
|| ಈ ಟ್ಯುಟೋರಿಯಲ್‌ ನಲ್ಲಿ ನಾವು:
 +
 
ಜಾವಾದಲ್ಲಿ ಪಾಲಿಮಾರ್ಫಿಸಂ,
 
ಜಾವಾದಲ್ಲಿ ಪಾಲಿಮಾರ್ಫಿಸಂ,
 +
 
ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ,
 
ರನ್-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ,
 +
 
ವರ್ಚುವಲ್‌ ಮೆಥಡ್‌ ಇನ್ವೊಕೇಶನ್‌ ಮತ್ತು
 
ವರ್ಚುವಲ್‌ ಮೆಥಡ್‌ ಇನ್ವೊಕೇಶನ್‌ ಮತ್ತು
 +
 
ಕಂಪೈಲ್‌-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಇವುಗಳ ಬಗ್ಗೆ ಕಲಿಯಲಿದ್ದೇವೆ.
 
ಕಂಪೈಲ್‌-ಟೈಂ ಪಾಲಿಮಾರ್ಫಿಸಂ ಇವುಗಳ ಬಗ್ಗೆ ಕಲಿಯಲಿದ್ದೇವೆ.
  
Line 18: Line 22:
 
||00:19
 
||00:19
 
||ಇಲ್ಲಿ ನಾವು,
 
||ಇಲ್ಲಿ ನಾವು,
ಉಬಂಟು ಲಿನಕ್ಸ್‌  ಆವೃತ್ತಿ 12.04,
+
ಉಬಂಟು ಲಿನಕ್ಸ್‌  ಆವೃತ್ತಿ '''12.04''',
'''JDK''' ಆವೃತ್ತಿ 1.7 ಮತ್ತು  
+
'''JDK''' ಆವೃತ್ತಿ '''1.7''' ಮತ್ತು  
''' Eclipse''' 4.3.1 ಬಳಸುತ್ತಿದ್ದೇವೆ.
+
''' Eclipse''' '''4.3.1''' ಬಳಸುತ್ತಿದ್ದೇವೆ.
  
 
|-
 
|-
Line 41: Line 45:
 
||00:54
 
||00:54
 
|| ಪಾಲಿಮಾರ್ಫಿಸಂನ ಪ್ರಮುಖ ಲಾಭಗಳೆಂದರೆ:
 
|| ಪಾಲಿಮಾರ್ಫಿಸಂನ ಪ್ರಮುಖ ಲಾಭಗಳೆಂದರೆ:
ಸಂಕೀರ್ಣತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು ಮತ್ತು
+
ಸಂಕೀರ್ಣತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು ಮತ್ತು ಕೋಡ್‌ ಅನ್ನು ಮತ್ತೆ ಬಳಸುವ ಸಾಧ್ಯತೆ.
ಕೋಡ್‌ ಅನ್ನು ಮತ್ತೆ ಬಳಸುವ ಸಾಧ್ಯತೆ.
+
  
 
|-
 
|-
Line 179: Line 182:
 
||05:16
 
||05:16
 
|| Manager '''IS-A''' Employee.
 
|| Manager '''IS-A''' Employee.
 +
 
Manager  '''IS-A''' ಮ್ಯಾನೇಜರ್.
 
Manager  '''IS-A''' ಮ್ಯಾನೇಜರ್.
 +
 
Manager '''IS-A''' ಅಬ್ಜೆಕ್ಟ್.
 
Manager '''IS-A''' ಅಬ್ಜೆಕ್ಟ್.
  
Line 188: Line 193:
 
|-
 
|-
 
||05:29
 
||05:29
|| '''emp1, emp2''' ಮತ್ತು '''manager’’’ ನಂತಹ ರೆಫರನ್ಸ್‌ ವೇರಿಯಬಲ್‌ ಗಳು.
+
|| '''emp1, emp2''' ಮತ್ತು '''manager''' ನಂತಹ ರೆಫರನ್ಸ್‌ ವೇರಿಯಬಲ್‌ ಗಳು.
  
 
|-
 
|-
Line 356: Line 361:
 
|-
 
|-
 
||10:32
 
||10:32
|| ಈ ಕೆಳಗಿನ ಲಿಂಕ್‌ ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ಲಿಂಕ್‌, ಸ್ಪೋಕನ್‌ ಟ್ಯುಟೋರಿಯಲ್‌ ಪ್ರಾಜೆಕ್ಟ್‌ ನ ಸಾರಾಂಶವಾಗಿದೆ. ದಯವಿಟ್ಟು ವೀಕ್ಷಿಸಿ.
+
|| ಈ ಕೆಳಗಿನ ಲಿಂಕ್‌ ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ವೀಡಿಯೊ‌, ಸ್ಪೋಕನ್‌ ಟ್ಯುಟೋರಿಯಲ್‌ ಪ್ರಾಜೆಕ್ಟ್‌ ನ ಸಾರಾಂಶವಾಗಿದೆ. ದಯವಿಟ್ಟು ವೀಕ್ಷಿಸಿ.
  
 
|-
 
|-

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