Difference between revisions of "Java/C3/Using-final-keyword/Kannada"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 15: Line 15:
 
|ಅಲ್ಲದೆ, ನಾವು-
 
|ಅಲ್ಲದೆ, ನಾವು-
 
''' final''' ವೇರಿಯೇಬಲ್ ಗಳು,
 
''' final''' ವೇರಿಯೇಬಲ್ ಗಳು,
 +
 
''' final''' ಮೆಥೆಡ್ ಗಳು ಮತ್ತು
 
''' final''' ಮೆಥೆಡ್ ಗಳು ಮತ್ತು
 +
 
''' final''' ಕ್ಲಾಸ್ ಗಳ ಬಗ್ಗೆ ಸಹ ತಿಳಿಯಲಿದ್ದೇವೆ.  
 
''' final''' ಕ್ಲಾಸ್ ಗಳ ಬಗ್ಗೆ ಸಹ ತಿಳಿಯಲಿದ್ದೇವೆ.  
  

Revision as of 22:54, 18 September 2018

Time Narration
00:01 Using final keyword ಎಂಬ ಈ ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಗೆ ನಿಮಗೆ ಸ್ವಾಗತ.
00:05 ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು, final ಎಂಬ ಕೀ ವರ್ಡ್ ಮತ್ತು ಅದನ್ನು ಯಾವಾಗ ಬಳಸಬೇಕು ಎಂಬುದನ್ನು ತಿಳಿಯುವೆವು.
00:11 ಅಲ್ಲದೆ, ನಾವು-

final ವೇರಿಯೇಬಲ್ ಗಳು,

final ಮೆಥೆಡ್ ಗಳು ಮತ್ತು

final ಕ್ಲಾಸ್ ಗಳ ಬಗ್ಗೆ ಸಹ ತಿಳಿಯಲಿದ್ದೇವೆ.

00:18 ಈ ಟ್ಯುಟೋರಿಯಲ್ ಅನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು, ನಾನು:

ಉಬಂಟು ಲಿನಕ್ಸ್ ಆವೃತ್ತಿ 12.04,

ಜೆಡಿಕೆ 1.7,

Eclipse 4.3.1 ಇವುಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದೇನೆ.

00:30 ಈ ಟ್ಯುಟೋರಿಯಲ್ ಅನ್ನು ಅನುಸರಿಸಲು, ನಿಮಗೆ ಜಾವಾ ಮತ್ತು ಎಕ್ಲಿಪ್ಸ್ ಐಡಿಇ ಇವುಗಳ ಬಗ್ಗೆ ತಕ್ಕಮಟ್ಟಿಗೆ ತಿಳಿದಿರಬೇಕು.
00:36 ನಿಮಗೆ ಸಬ್-ಕ್ಲಾಸಿಂಗ್ ಮತ್ತು ಮೆಥಡ್ ಓವರ್ ರೈಡಿಂಗ್ ನ ಬಗ್ಗೆಯೂ ತಿಳಿದಿರಬೇಕು.
00:41 ಇರದಿದ್ದಲ್ಲಿ, ಸಂಬಂಧಿತ ಜಾವಾ ಟ್ಯುಟೋರಿಯಲ್ ಗಳಿಗಾಗಿ ನಮ್ಮ ವೆಬ್ ಸೈಟ್ ಅನ್ನು ನೋಡಿ.
00:46 ಮೊದಲಿಗೆ ನಾವು final ಎಂಬ ಕೀವರ್ಡ್ ಅನ್ನು ತಿಳಿಯೋಣ.
00:50 “ಫೈನಲ್” ಎನ್ನುವುದು ಜಾವಾ ದಲ್ಲಿ ಒಂದು ಕೀ-ವರ್ಡ್ ಅಥವಾ ಕಾಯ್ದಿರಿಸಲಾದ ಪದ ಆಗಿದೆ.
00:55 ಇದನ್ನು ವೇರಿಯೇಬಲ್ ಗಳಿಗೆ, ಮೆಥೆಡ್ ಗಳಿಗೆ ಮತ್ತು ಕ್ಲಾಸ್ ಗಳಿಗೆ ಅನ್ವಯಿಸಬಹುದು.
01:01 ಈಗ ನಾವು ಫೈನಲ್ ವೇರಿಯೇಬಲ್ ದ ಬಗ್ಗೆ ತಿಳಿಯೋಣ.
01:05 ಫೈನಲ್ ವೇರಿಯೇಬಲ್ ನ ವ್ಯಾಲ್ಯೂವನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅಂದರೆ ಅದು ಒಂದು ಕಾನ್ಸ್ಟಂಟ್ ಆಗಿದೆ.
01:13 ಈಗ ನಾನು Eclipse IDE ಗೆ (ಎಕ್ಲಿಪ್ಸ್ ಐ ಡಿ ಇ) ಬದಲಾಯಿಸುತ್ತಿದ್ದೇನೆ. ಹಿಂದಿನ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ, ನಾನು ಆಗಲೇ MyProject ಎಂಬ ಒಂದು ಪ್ರೊಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸಿದ್ದೆ.
01:22 ಹೀಗಾಗಿ, ನಾವು ನೇರವಾಗಿ ಪ್ರೊಜೆಕ್ಟ್ ನ Employee ಕ್ಲಾಸ್ ಗೆ ಹೊಗೋಣ.
01:26 name ಎನ್ನುವ ವೇರಿಯೇಬಲ್ ಗೆ ಬನ್ನಿ.
01:30 name ಎನ್ನುವ ವೇರಿಯೇಬಲ್ ನ ಮೊದಲು final ಕೀವರ್ಡ್ ಅನ್ನು ಸೇರಿಸಿ. ನಾವೀಗ name ಎನ್ನುವ ವೇರಿಯೇಬಲ್ ಅನ್ನು final ಎಂದು ಮಾಡಿದ್ದೇವೆ.
01:40 ನಾವು ಈ name ಎಂಬ ವೇರಿಯೇಬಲ್ ಅನ್ನು, "sneha" ಎಂಬ ವ್ಯಾಲ್ಯೂ ದಿಂದ ಇನಿಶಿಯಲೈಸ್ ಮಾಡುವೆವು.
01:45 ಈ ಪ್ರೋಗ್ರಾಮ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿಕೊಂಡು ರನ್ ಮಾಡುವೆವು.
01:48 ನಮಗೆ The final field Employee.name cannot be assigned ಎಂಬ ಕಂಪೈಲೇಶನ್ ಎರರ್ ಸಿಗುತ್ತದೆ.
01:55 ಏಕೆಂದರೆ, ಇಲ್ಲಿ final ವೇರಿಯೇಬಲ್ name ಅನ್ನು ಈಗಾಗಲೇ ಡಿಕ್ಲೇರ್ ಮಾಡಿ ಇನಿಶಿಯಲೈಸ್ ಮಾಡಲಾಗಿದೆ.
02:05 final ವೇರಿಯೇಬಲ್ ಅನ್ನು ನಾವು ಒಮ್ಮೆ ಮಾತ್ರ ಇನಿಶಿಯಲೈಸ್ ಮಾಡಬಹುದು.
02:08 ಆದ್ದರಿಂದ, ನಾವು setName (ಸೆಟ್ ನೇಮ್) ಮೆಥಡ್ ಅನ್ನು ಕಾಮೆಂಟ್ ಮಾಡೋಣ. ಇದು name ಅನ್ನು ಮಾರ್ಪಡಿಸುತ್ತದೆ.
02:14 ಈ ಕ್ಲಾಸ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿ.
02:16 ಈಗ TestEmployee ಕ್ಲಾಸ್ ಗೆ ಬನ್ನಿ.
02:19 main ಮೆಥೆಡ್ ಗೆ ಬನ್ನಿ ಮತ್ತು manager.setName("Nikkita Dinesh"); ಎನ್ನುವ ಸಾಲನ್ನು ಕಾಮೆಂಟ್ ಮಾಡಿ.
02:26 ಇದು setName ಮೆಥೆಡ್ ನ ಇನ್ಸ್ಟನ್ಸ್ ಆಗಿದ್ದರಿಂದ, ಈ ಸಾಲನ್ನು ನಾವು ಕಾಮೆಂಟ್ ಮಾಡಿದ್ದೇವೆ.
02:31 ನಾವು ಈಗಾಗಲೇ Employee ಕ್ಲಾಸ್ ನಲ್ಲಿ, setName ಮೆಥೆಡ್ ಅನ್ನು ಕಾಮೆಂಟ್ ಮಾಡಿದ್ದೇವೆ.
02:35 ಈಗ ಈ ಕ್ಲಾಸ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿಕೊಂಡು ಪ್ರೊಗ್ರಾಂಅನ್ನು ರನ್ ಮಾಡೋಣ.
02:38 ಉತ್ತಮ !!! ನಾವು ಈ ಔಟ್ಪುಟ್ ಅನ್ನು ಪಡೆದಿದ್ದೇವೆ.

Name: Sneha Email: abc@gmail.com Manager of: Accounts

02:47 ನಾವೀಗಾಗಲೇ TestEmployee ಕ್ಲಾಸ್ ಮತ್ತು Employee ಕ್ಲಾಸ್ ನಲ್ಲಿ, ವೇರಿಯೇಬಲ್ ಗಳನ್ನು ಈ ವ್ಯಾಲ್ಯೂಗಳೊಂದಿಗೆ ಇನಿಶಿಯಲೈಸ್ ಮಾಡಿದ್ದರಿಂದ ಈ ಔಟ್ಪುಟ್ ಅನ್ನು ಪಡೆದಿದ್ದೇವೆ.
02:58 ಈಗ Employee ಕ್ಲಾಸ್ ನ final ವೇರಿಯೇಬಲ್ name ಗೆ ಬನ್ನಿ.
03:02 final ವೇರಿಯೇಬಲ್ name ನ ಇನಿಶಿಯಲೈಸ್ ಮಾಡಿದ ವ್ಯಾಲ್ಯೂ ಎಂದರೆ “sneha” ಅನ್ನು ತೆಗೆದುಬಿಡಿ.
03:08 setName ಮೆಥೆಡ್ ಅನ್ನು ಕಾಮೆಂಟ್ ಮಾಡಿದ್ದನ್ನು ರದ್ದುಮಾಡಿ.
03:12 ಪ್ರೋಗ್ರಾಮ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿಕೊಂಡು ರನ್ ಮಾಡಿ.
03:14 ನಮಗೆ ಈ ಎರರ್ ಸಿಗುತ್ತದೆ: The final field Employee.name cannot be assigned.
03:20 ಏಕೆಂದರೆ, final ವೇರಿಯೇಬಲ್ ಅನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡಿರದಿದ್ದರೆ ಮಾತ್ರ “ಕನ್ಸ್ಟ್ರಕ್ಟರ್” ಇದನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡಬಹುದು.
03:28 ಎಂದರೆ, ಇದನ್ನು ಪ್ರೋಗ್ರಾಮ್ ನಲ್ಲಿ ಬೇರೆಲ್ಲಿಯೂ ಬದಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.
03:33 ಅದಕ್ಕಾಗಿ, Employee ಕ್ಲಾಸ್ ನಲ್ಲಿ ಒಂದು ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ರಚಿಸೋಣ. ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ನ ಬಗ್ಗೆ ನಾವು ಈಗಾಗಲೇ ಅರಿತಿದ್ದೇವೆ.
03:43 ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಸಹ ಕ್ಲಾಸ್ ನ ಹೆಸರನ್ನೇ ಹೊಂದಿರುವುದು ನಮಗೆ ತಿಳಿದಿದೆ.
03:47 ಆದ್ದರಿಂದ, ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ:

Employee, parentheses, open and close curly brackets ಮತ್ತು ಕರ್ಲಿ ಬ್ರ್ಯಾಕೆಟ್ ಒಳಗೆ ನಾವು ವೇರಿಯೇಬಲ್ name ಅನ್ನು “sneha” ಸೆಮಿಕೋಲನ್ ನೊಂದಿಗೆ ಇನಿಶಿಯಲೈಸ್ ಮಾಡೋಣ.

04:08 setName ಮೆಥೆಡ್ ಅನ್ನು ಕಾಮೆಂಟ್ ಮಾಡಿ.
04:12 ಪ್ರೊಗ್ರಾಂ ಅನ್ನು ಸೇವ್ ಮಾಡಿಕೊಂಡು ರನ್ ಮಾಡಿ.
04:15 ನಮಗೆ ಬೇಕಾಗಿರುವ ಔಟ್ಪುಟ್ ಅನ್ನು ಪಡೆದಿದ್ದೇವೆ.
04:17 ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ನಲ್ಲಿ, ಫೈನಲ್ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಇನಿಶಿಯಲೈಸ್ ಮಾಡಲಾಗಿದೆ.
04:22 ನಾವೀಗ “ಫೈನಲ್ ಸ್ಟ್ಯಾಟಿಕ್ ವೇರಿಯೆಬಲ್” ಗಳ ಬಗ್ಗೆ ತಿಳಿಯೋಣ.
04:26 Employee ಕ್ಲಾಸ್ ನಲ್ಲಿ, ಫೈನಲ್ ವೇರಿಯೇಬಲ್ ಗೆ ಬನ್ನಿ.
04:30 final ಕೀವರ್ಡ್ ಗೆ ಮುಂಚಿತವಾಗಿ static ಕೀವರ್ಡ್ ಅನ್ನು ಸೇರಿಸಿ. ಈಗ ನಾವು ಫೈನಲ್ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಸ್ಟ್ಯಾಟಿಕ್ ಎಂದು ಮಾಡಿದ್ದೇವೆ.
04:38 ಪ್ರೋಗ್ರಾಮ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿಕೊಂಡು ರನ್ ಮಾಡಿ.
04:40 ನಮಗೆ The final field Employee.name cannot be assigned ಎಂಬ ಎರರ್ ಸಿಗುತ್ತದೆ.
04:46 ಇದಕ್ಕೆ ಕಾರಣ, ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ನಲ್ಲಿ, static final ವೇರಿಯೇಬಲ್ ಗಳನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ.
04:53 ಅವುಗಳನ್ನು ಡಿಕ್ಲೇರ್ ಮಾಡುವಾಗಲೇ ವ್ಯಾಲ್ಯೂಅನ್ನು ಅಸೈನ್ ಮಾಡಬೇಕು. ಅಥವಾ, ಅವುಗಳನ್ನು “ಸ್ಟ್ಯಾಟಿಕ್ ಬ್ಲಾಕ್” ಗಳಲ್ಲಿ ಡಿಕ್ಲೇರ್ ಮಾಡಬೇಕು.
05:01 ಸ್ಟ್ಯಾಟಿಕ್ ವೇರಿಯೇಬಲ್ ಗಳನ್ನು, ಒಂದು ಕ್ಲಾಸ್ ನ ಎಲ್ಲಾ ಆಬ್ಜೆಕ್ಟ್ ಗಳಲ್ಲಿ ಹಂಚಲಾಗುವುದು.
05:06 ಹೊಸ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸಿದರೆ, ಸ್ಟ್ಯಾಟಿಕ್ ವೇರಿಯೇಬಲ್ ಬದಲಾಗಬಹುದು. ಸ್ಟ್ಯಾಟಿಕ್ ವೇರಿಯೇಬಲ್ ಫೈನಲ್ ಎಂದಾದರೆ ಇದಕ್ಕೆ ಅನುಮತಿಯಿಲ್ಲ.
05:14 Eclipse IDE ಗೆ ಹಿಂತಿರುಗಿ.
05:17 ಈಗ ನಾವು ಒಂದು ಸ್ಟ್ಯಾಟಿಕ್ ಬ್ಲಾಕ್ ಅನ್ನು ರಚಿಸೋಣ.
05:20 ಅದಕ್ಕಾಗಿ, Employee ಕ್ಲಾಸ್ ನಲ್ಲಿ ನಾವು ರಚಿಸಿದ ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಗೆ ಬರೋಣ.
05:26 ಇಲ್ಲಿ, Employee ಮತ್ತು ಆವರಣದ ಬದಲಾಗಿ static ಎಂದು ಟೈಪ್ ಮಾಡೋಣ. ಈಗ ನಾವು ಒಂದು ಸ್ಟ್ಯಾಟಿಕ್ ಬ್ಲಾಕ್ ಅನ್ನು ರಚಿಸಿದ್ದೇವೆ.
05:35 ಈಗ ಪ್ರೋಗ್ರಾಮ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿಕೊಂಡು ರನ್ ಮಾಡುತ್ತೇವೆ.
05:38 ನಮಗೆ ಬೇಕಾದ ಔಟ್ಪುಟ್ ಸಿಕ್ಕಿದೆ. ನಾವು ಯಶಸ್ವಿಯಾಗಿ static final ವೇರಿಯೇಬಲ್ ಅನ್ನು ಇನಿಶಿಯಲೈಸ್ ಮಾಡಿದ್ದೇವೆ.
05:46 ನಾವೀಗ ಫೈನಲ್ ವೇರಿಯೇಬಲ್ ಅನ್ನು, ಮೆಥೆಡ್ ಗೆ ಪ್ಯಾರಾಮೀಟರ್ ಆಗಿ ಬಳಸೋಣ.
05:52 Employee ಕ್ಲಾಸ್ ನಲ್ಲಿಯ setEmail ಮೆಥೆಡ್ ಗೆ ಬನ್ನಿರಿ.
05:55 String newEmail ಗೆ (ಸ್ಟ್ರಿಂಗ್ ನ್ಯೂ ಈಮೇಲ್) ಮುನ್ನ final ಕೀವರ್ಡ್ ಅನ್ನು ಸೇರಿಸಿ. ನಾವು ಈ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಫೈನಲ್ ಎಂದು ಮಾಡಿದ್ದೇವೆ.
06:03 ಈಗ ಪ್ರೋಗ್ರಾಮ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿಕೊಂಡು ರನ್ ಮಾಡಿ.
06:06 ನಮಗೆ ಬೇಕಾದ ಔಟ್ಪುಟ್ ಸಿಕ್ಕಿದೆ.
06:09 ಈಗ setEmail ಮೆಥೆಡ್ ಗೆ ಬನ್ನಿರಿ.

ಮೆಥೆಡ್ ನ ಒಳಗೆ, ಹೀಗೆ ಟೈಪ್ ಮಾಡುವೆವು: newEmail is equal to abc@gmail.com ಸೆಮಿಕೋಲನ್

06:28 ನಾವು newEmail ಫೈನಲ್ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಬದಲಾಯಿಸಿದ್ದೇವೆ.
06:32 ಮತ್ತೊಮ್ಮೆ, ಪ್ರೋಗ್ರಾಮ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿಕೊಂಡು ರನ್ ಮಾಡುತ್ತೇವೆ.
06:35 ನಮಗೆ ಈ ಎರರ್ ಸಿಗುತ್ತದೆ: The final local variable newEmail cannot be assigned.
06:42 ಏಕೆಂದರೆ, ಫೈನಲ್ ವೇರಿಯೇಬಲ್ ಒಂದು ಮೆಥೆಡ್ ಗೆ ಪ್ಯಾರಾಮೀಟರ್ ಆಗಿದ್ದರೆ, ಆ ಮೆಥೆಡ್ ನಿಂದ ಅದನ್ನು ಪರಿವರ್ತಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.
06:50 ಹೀಗಾಗಿ, ನಾವು ವೇರಿಯೇಬಲ್ ನ ಬದಲಾವಣೆಯನ್ನು ತೆಗೆದುಬಿಡೋಣ.
06:54 ಈಗ final ಮೆಥೆಡ್ ಬಗ್ಗೆ ಕಲಿಯೋಣ. Employee ಕ್ಲಾಸ್ ನಲ್ಲಿಯ getDetails ಎಂಬ ಮೆಥೆಡ್ ಗೆ ಬನ್ನಿ .
07:01 getDetails ಮೆಥೆಡ್ ಗೆ ಮುಂಚೆ, final ಕೀವರ್ಡ್ ಅನ್ನು ಸೇರಿಸಿ. ಈಗ ನಾವು ಮೆಥೆಡ್ ಅನ್ನು ಫೈನಲ್ ಎಂದು ಮಾಡಿದ್ದೇವೆ.
07:08 ಪ್ರೋಗ್ರಾಮ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿಕೊಂಡು ರನ್ ಮಾಡಿ.
07:10 ನಮಗೆ ಈ ಎರರ್ ಸಿಗುತ್ತದೆ: class Manager overrides final method getDetails().
07:16 Manager ಕ್ಲಾಸ್ ನಲ್ಲಿಯ getDetails() ಮೆಥೆಡ್ ಗೆ ಬನ್ನಿ.
07:21 ಇದಕ್ಕೆ ಕಾರಣ, ನೀವು ಯಾವುದೇ ಮೆಥೆಡ್ ಅನ್ನು ಫೈನಲ್ ಎಂದು ಮಾಡಿದರೆ, ನೀವು ಅದನ್ನು ಓವರ್-ರೈಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ.
07:29 Manager ಕ್ಲಾಸ್ ನ getDetails() ಮೆಥೆಡ್ , Employee ಕ್ಲಾಸ್ ನ getDetails() ಮೆಥೆಡ್ ಅನ್ನು ಓವರ್-ರೈಡ್ ಮಾಡುತ್ತದೆ.
07:36 final ಮೆಥೆಡ್, private ಎಂದಾದರೆ ಎನಾಗುವುದು?
07:39 ಚೈಲ್ಡ್ ಕ್ಲಾಸ್ ಗಳು, private (ಪ್ರೈವೇಟ್) ಮೆಥೆಡ್ ಗಳನ್ನು ಇನ್ಹೆರಿಟ್ ಮಾಡುವುದಿಲ್ಲ.
07:43 ಹಾಗಾಗಿ, ನಾವು getDetails() ಮೆಥೆಡ್ ಅನ್ನು ಚೈಲ್ಡ್ ಕ್ಲಾಸ್ ನಲ್ಲಿ ಸೇರಿಸಬಹುದು. ನೀವು ಇದನ್ನು ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ.
07:51 Eclipse IDE ಗೆ (ಎಕ್ಲಿಪ್ಸ್ ಐ ಡಿ ಇ) ಹಿಂತಿರುಗೋಣ.
07:54 Employee ಕ್ಲಾಸ್ ನಲ್ಲಿ, getDetails() ಮೆಥಡ್ ನ ಮೊದಲು ಇರುವ final ಕೀವರ್ಡ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ.
08:03 ಫೈನಲ್ ವೇರಿಯೇಬಲ್ name ನ ಮುನ್ನ ಇರುವ static ಕೀವರ್ಡ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ.
08:10 ಈಗ, ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ಫೈನಲ್ ಎಂದು ಡಿಕ್ಲೇರ್ ಮಾಡಬಹುದೋ ಇಲ್ಲವೋ ಎಂದು ತಿಳಿಯೋಣ.
08:15 ಅದಕ್ಕಾಗಿ, ಮತ್ತೊಮ್ಮೆ ನಾವು ಒಂದು ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ರಚಿಸೋಣ. static ನ ಬದಲಾಗಿ ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ: Employee parentheses.
08:26 ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಗಿಂತ ಮೊದಲು, final ಕೀವರ್ಡ್ ಅನ್ನು ಸೇರಿಸಿ.
08:31 ಪ್ರೋಗ್ರಾಮ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿಕೊಂಡು ರನ್ ಮಾಡಿ.
08:36 ನಮಗೆ ಈ ಎರರ್ ಸಿಗುತ್ತದೆ: Illegal modifier for the constructor in type Employee.
08:42 ಇದಕ್ಕೆ ಕಾರಣ, ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಗಳನ್ನು ಇನ್ಹೆರಿಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಆದ್ದರಿಂದ ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಫೈನಲ್ ಆಗಲು ಸಾಧ್ಯವಿಲ್ಲ.
08:50 ನಾವು ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಮುಂಚೆ ಇರುವ final ಕೀವರ್ಡ್ ಅನ್ನು ತೆಗೆದುಬಿಡೋಣ.
08:54 ಈಗ, ನಾವು final ಕ್ಲಾಸ್ ಬಗ್ಗೆ ಕಲಿಯೋಣ.
08:57 Employee ಕ್ಲಾಸ್ ಅನ್ನು final ಎಂದು ಮಾಡಲು, ಕ್ಲಾಸ್ ನ ಮೊದಲು final ಕೀವರ್ಡ್ ಅನ್ನು ಸೇರಿಸಿ.
09:03 ಪ್ರೋಗ್ರಾಮ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿಕೊಂಡು ರನ್ ಮಾಡಿ.
09:06 ನಮಗೆ ಈ ಎರರ್ ಸಿಗುತ್ತದೆ: The method setEmail is undefined for the type Manager.
09:12 ನಿಜವಾದ ಎರರ್ ಅನ್ನು ತಿಳಿಯಬೇಕಾದರೆ, ನಾವು TestEmployee ಕ್ಲಾಸ್ ಗೆ ಬರೋಣ ಮತ್ತು ಈ ಕೆಳಗಿನ ಸಾಲುಗಳನ್ನು ಕಾಮೆಂಟ್ ಮಾಡೋಣ.
09:21 manager.setEmail("abc@gmail.com"); manager.setDepartment("Accounts");
09:28 ಕ್ಲಾಸ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿ, ಪ್ರೋಗ್ರಾಮ್ ಅನ್ನು ರನ್ ಮಾಡಿ.
09:31 ನಿಜವಾದ ಎರರ್ ಹೀಗಿದೆ: The type manager cannot subclass the final class Employee.
09:40 ಇಲ್ಲಿ, Manager ಕ್ಲಾಸ್, Employee ಕ್ಲಾಸ್ ಅನ್ನು ಎಕ್ಸ್ಟೆಂಡ್ (extend) ಮಾಡುತ್ತದೆ.
09:45 ಹೀಗಾಗಿ, ನಾವು Employee ಕ್ಲಾಸ್ ಗೆ ಹಿಂತಿರುಗಿ, ಫೈನಲ್ ಕೀವರ್ಡ್ ಅನ್ನು ತೆಗೆದುಹಾಕೋಣ. ಕ್ಲಾಸ್ ಅನ್ನು ಸೇವ್ ಮಾಡೋಣ.
09:54 TestEmployee ಕ್ಲಾಸ್ ಗೆ ಬನ್ನಿ. ಈ ಕೆಳಗಿನ ಸಾಲುಗಳನ್ನು ಅನ್-ಕಾಮೆಂಟ್ ಮಾಡಿ.

manager.setEmail("abc@gmail.com"); manager.setDepartment("Accounts");

10:06 ಕ್ಲಾಸ್ ಅನ್ನು ಸೇವ್ ಮಾಡಿಕೊಂಡು, ಪ್ರೋಗ್ರಾಮ್ ಅನ್ನು ರನ್ ಮಾಡಿ.
10:09 ನಮಗೆ ಬೇಕಾದ ಔಟ್ಪುಟ್ ಸಿಕ್ಕಿದೆ.
10:12 ಸಂಕ್ಷಿಪ್ತವಾಗಿ, ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು:

final ಕೀವರ್ಡ್ ಅನ್ನು ಯಾವಾಗ ಇನ್ವೋಕ್ ಮಾಡುವುದು,

final ವೇರಿಯೇಬಲ್ ಗಳು,

final ಮೆಥೆಡ್ ಗಳು ಮತ್ತು ಫೈನಲ್ ಕ್ಲಾಸ್ ಗಳು ಇವುಗಳ ಬಗ್ಗೆ ಕಲಿತಿದ್ದೇವೆ.

10:27 ಅಸೈನ್ಮೆಂಟ್ ಗಾಗಿ,

ಹಿಂದಿನ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾವು ಉಪಯೋಗಿಸಿದ Bike (ಬೈಕ್) ಮತ್ತು Vehicle (ವೆಹಿಕಲ್) ಕ್ಲಾಸ್ ಗಳಿಗಾಗಿ, Using final keyword ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿಯ ಹಂತಗಳನ್ನು ಪುನರಾವರ್ತಿಸಿ.

10:37 ಜಾವಾದಲ್ಲಿರುವ ಫೈನಲ್ ಕ್ಲಾಸ್ ಗಳನ್ನು ಬರೆಯಿರಿ.
10:41 ಈ ಕೆಳಗಿನ ಲಿಂಕ್ ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ವೀಡಿಯೋ ಅನ್ನು ವೀಕ್ಷಿಸಿ. ಇದು ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಪ್ರೊಜೆಕ್ಟ್ ನ ಸಾರಾಂಶವಾಗಿದೆ.
10:47 ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಪ್ರೊಜೆಕ್ಟ್ ನ ತಂಡವು:

ಕಾರ್ಯಶಾಲೆಗಳನ್ನು ನಡೆಸುತ್ತದೆ ಮತ್ತು ಆನ್ ಲೈನ್ ಪರೀಕ್ಷೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣರಾದವರಿಗೆ ಪ್ರಮಾಣಪತ್ರವನ್ನು ನೀಡುತ್ತದೆ. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ದಯವಿಟ್ಟು ನಮಗೆ ಬರೆಯಿರಿ.

10:56 ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ಪ್ರೊಜೆಕ್ಟ್, ರಾಷ್ಟ್ರೀಯ ಸಾಕ್ಷರತಾ ಮಿಷನ್, ICT, MHRD ಮೂಲಕ ಭಾರತ ಸರ್ಕಾರದ ಅನುದಾನವನ್ನು ಪಡೆದಿದೆ.

ಈ ಸ್ಕ್ರಿಪ್ಟ್ ನ ಅನುವಾದಕಿ, IIT Bombay ಯಿಂದ ಸಂಧ್ಯಾ ಪುಣೇಕರ್ ಮತ್ತು ಧ್ವನಿ ಶ್ರೀ ನವೀನ್ ಭಟ್, ಉಪ್ಪಿನಪಟ್ಟಣ. ಧನ್ಯವಾದಗಳು.

Contributors and Content Editors

Sandhya.np14