Java/C3/Subclassing-and-Method-Overriding/Oriya
From Script | Spoken-Tutorial
|
|
00:01 | Subclassing ଓ Method Overriding ଉପରେ ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲକୁ ସ୍ୱାଗତ |
00:06 | ଏହି ଟ୍ୟୁଟୋରିଆଲ୍ ରେ ଆମେ ଶିଖିବା,
|
00:15 | ଏଠାରେ ଆମେ ବ୍ୟବହାର କରୁଛୁ:
|
00:25 | ଏହି ଟ୍ୟୁଟୋରିଆଲ୍ ଅନୁସରଣ କରିବାକୁ ଆପଣଙ୍କର Java ଓ Eclipse IDE ଉପରେ ମୌଳିକ ଜ୍ଞାନ ଥିବା ଦରକାର |
00:32 | ଯଦି ନାହିଁ, ତେବେ ସମ୍ପର୍କିତ ଟ୍ୟୁଟୋରିଆଲ୍ସ ପାଇଁ ଦୟାକରି ଆମ ୱେବସାଇଟ୍ ଦେଖନ୍ତୁ |
00:37 | ସର୍ବପ୍ରଥମେ ଆମେ, Subclassing କ’ଣ, ତାହା ଶିଖିବା |
00:41 | ଏକ ବିଦ୍ୟମାନ Classରୁ ଗୋଟିଏ ନୂଆ Class ତିଆରି କରିବା ପାଇଁ ଏହା ହେଉଛି ଏକ ମାର୍ଗ |
00:46 | ତିଆରି କରାଯାଇଥିବା ନୂଆ Class ହେଉଛି Subclass କିମ୍ୱା Derived Class କିମ୍ୱା Child Class |
00:53 | ପୂର୍ବରୁ ରହିଥିବା Classକୁ Superclass କିମ୍ୱା Base Class କିମ୍ୱା Parent Class କୁହାଯାଏ |
01:00 | ଏବେ ଚାଲନ୍ତୁ ଦେଖିବା, ଏକ Subclass କିପରି ତିଆରି କରାଯାଏ. ମୁଁ, MyProject ନାମକ ଏକ Project ତିଆରି କରିସାରିଛି |
01:10 | ମୁଁ ଏକ Class ତିଆରି କରିସାରି ତାକୁ Employee ନାମ ଦେଇଛି |
01:15 | ଏଥିରେ variables, name ଓ email_address ଅଛି |
01:19 | ଏଥିରେ Class ପାଇଁ Setter ଓ Getter ମେଥଡ୍ ମଧ୍ୟ ରହିଛି |
01:24 | ଏଥିରେ ଏକ ମେଥଡ୍ getDetails() ଅଛି. ଏହି ମେଥଡ୍ name ଓ email_address ରିଟର୍ନ କରେ |
01:31 | ଏବେ, Manager Classକୁ ଫେରିଆସନ୍ତୁ |
01:35 | ଏଥିରେ variables, name, email_address ଓ Department ଅଛି |
01:40 | ଆମେ ଦେଖିପାରୁଛେ ଯେ, ଉଭୟ Employee ଓ Manager Classରେ କେତେକ Variables ସମାନ ଅଛି |
01:47 | Employee Classରେ Name ଓ Email_Address ରହିଛି. ଏହା, Manager Classରେ ଥିବାର ମଧ୍ୟ ଆମେ ଦେଖିପାରୁଛେ |
01:57 | ତେଣୁକରି, Manager Classକୁ Employee Classର Subclass କରିହେବ |
02:03 | ସେଥିପାଇଁ, Manager Classରେ ଆମକୁ କିଛି ପରିବର୍ତ୍ତନ କରିବାକୁ ହେବ |
02:08 | Public Class Manager ପରେ ଟାଇପ୍ କରନ୍ତୁ: extends Employee |
02:14 | ଏକ ବିଦ୍ୟମାନ Classରୁ ଗୋଟିଏ Subclass ତିଆରି କରିବା ପାଇଁ Extends କୀୱର୍ଡ ବ୍ୟବହାର କରାଯାଇଥାଏ |
02:21 | ଉଭୟ Class ପାଇଁ ଥିବା ସମାନ Variablesର ନକଲକୁ କାଢ଼ିଦିଅନ୍ତୁ |
02:26 | ତେଣୁ, Manager Classରୁ Name ଓ Email_Address କାଢ଼ିଦିଅନ୍ତୁ |
02:32 | ତାହାର Setter ଓ Getter ମେଥଡ୍ କୁ ମଧ୍ୟ କାଢ଼ିଦିଅନ୍ତୁ |
02:37 | Class Managerରେ ଆମେ କେବେଳ ଗୋଟିଏ ଭେରିଏବଲ୍ Departmentକୁ ହିଁ ରଖିବା |
02:43 | Department ପାଇଁ Setter ଓ Getter ମେଥଡ୍ କୁ ମଧ୍ୟ ଆମେ ରଖିବା |
02:49 | ଏହିଭଳି ଭାବେ, Manager Class, Employee Classର ସଦସ୍ୟଗୁଡ଼ିକୁ ଗ୍ରହଣ କରିଥାଏ |
02:55 | ଅନ୍ୟଗୋଟିକରୁ ଗୋଟିଏ Classକୁ ବିସ୍ତାରିତ କରିବାର ଏହି ମାର୍ଗକୁ Single Inheritance କୁହାଯାଏ |
03:02 | ମୁଁ, TestEmployee ନାମକ ଆଉଗୋଟିଏ Class ମଧ୍ୟ ତିଆରି କରିଛି |
03:08 | ମେନ୍ ମେଥଡ୍ ଭିତରେ ଆମେ Manager Classର Object ତିଆରି କରିବା |
03:14 | ତେଣୁ, Main Method ଭିତରେ ଟାଇପ୍ କରନ୍ତୁ: Manager manager ଇକ୍ୱାଲ୍ ଟୁ new Manager ପାରାନ୍ଥେସେସ୍ |
03:23 | ଏହାପରେ ଆମେ, Manager Classର Setter ମେଥଡ୍ କୁ କଲ୍ କରିବା |
03:28 | ତେଣୁ ଟାଇପ୍ କରନ୍ତୁ, manager ଡଟ୍ setName ବ୍ରାକେଟ୍ସ ଓ ଡବଲ୍ କ୍ୱୋଟ୍ସ ମଧ୍ୟରେ Nikkita Dinesh |
03:38 | ତା’ପରେ ଟାଇପ୍ କରନ୍ତୁ: manager ଡଟ୍ setEmail ବ୍ରାକେଟ୍ସ ଓ ଡବଲ୍ କ୍ୱୋଟ୍ସ ମଧ୍ୟରେ abc at gmail dot com |
03:49 | ତା’ପରେ ଟାଇପ୍ କରନ୍ତୁ, manager ଡଟ୍ setDepartment ବ୍ରାକେଟ୍ସ ଓ ଡବଲ୍ କ୍ୱୋଟ୍ସ ମଧ୍ୟରେ Accounts |
03:57 | ଆପଣ, ଯେକୌଣସି Name, Email Address ଓ Department ବ୍ୟବହାର କରିପାରିବେ
|
04:02 | ଏବେ ଚାଲନ୍ତୁ, Manager Object ବ୍ୟବହାର କରି getDetails() ମେଥଡ୍ କୁ କଲ୍ କରିବା |
04:08 | ତେଣୁ, ଟାଇପ୍ କରନ୍ତୁ: System.out.println ବ୍ରାକେଟ୍ ମଧ୍ୟରେ manager dot getDetails |
04:17 | ଏବେ, ପ୍ରୋଗ୍ରାମ୍ କୁ ସେଭ୍ କରି ରନ୍ କରିବା |
04:21 | ଆମେ ନିମ୍ନ ଆଉଟପୁଟ୍ ପାଇଲେ:
Name: Nikkita Dinesh Email: abc@gmail.com |
04:30 | ଏଠାରେ, Manager Classର ଅବଜେକ୍ଟ, getDetails() ମେଥଡ୍ କୁ କଲ୍ କରିଥାଏ |
04:36 | ଏବେ, Manager Classକୁ ଫେରିଆସନ୍ତୁ |
04:39 | ଏଠାରେ କୌଣସି getDetails() ମେଥଡ୍ ନଥିବାର ଆମେ ଦେଖିପାରୁଛେ |
04:43 | କିନ୍ତୁ, ତଥାପି ଆମେ ଆଉଟପୁଟ୍ ପାଇଲେ. ଏହାର କାରଣ ହେଉଛି, Manager Class, Employee Classକୁ ବିସ୍ତାରିତ କଲା |
04:52 | Employee Classର ଭେରିଏବଲ୍ସ ଓ ମେଥଡ୍ସକୁ Manager Class ଆପେଆପେ ଗ୍ରହଣ କରିଥାଏ |
04:59 | ତେଣୁ, ଏହା Parent Class ଯାଞ୍ଚ କରିଥାଏ, ଯାହା ହେଉଛି Employee |
05:04 | ଏବେ, Manager Classକୁ ଫେରିଆସନ୍ତୁ. ଏହା ଏଠାରେ, getDetails() ମେଥଡ୍ କୁ ପାଇଥାଏ |
05:11 | ଧ୍ୟାନଦିଅନ୍ତୁ ଯେ, ଆମେ Departmentକୁ ରିଟର୍ନ କରିନାହେଁ. ପରିଣାମସ୍ୱରୂପ ଏହା, ଆଉଟପୁଟ୍ ରେ Departmentକୁ ପ୍ରିଣ୍ଟ କଲା ନାହିଁ |
05:20 | ଏବେ ଆମେ, getDetails ମେଥଡ୍ କୁ ବଦଳାଇ Private କରିବା. * ଫାଇଲ୍ ସେଭ୍ କରନ୍ତୁ |
05:27 | TestEmployee Classରେ ଏକ କମ୍ପାଇଲେଶନ୍ ଏରର୍ ମିଳିଥିବାର ଆମେ ଦେଖିପାରୁଛେ |
05:34 | ଏହା କୁହେ The method getDetails() from the type Employee is not visible |
05:40 | ଏହାର ଅର୍ଥ ହେଉଛି getDetails() ମେଥଡ୍ ଭିତରେ ପ୍ରବେଶ କରିହେବନାହିଁ |
05:45 | ଏହାର କାରଣ ହେଉଛି, ଆମେ getDetails() ମେଥଡ୍ କୁ Private ଭାବେ ଘୋଷିତ କରିସାରିଛେ |
05:52 | ଗୋଟିଏ Subclass, ନିଜ Superclassର Private ସଦସ୍ୟଗୁଡ଼ିକୁ ଗ୍ରହଣ କରେନାହିଁ |
05:58 | Superclassର Private ସଦସ୍ୟଗୁଡ଼ିକ ଭିତରେ Subclass ସିଧାସଳଖ ପ୍ରବେଶ କରିପାରେ ନାହିଁ |
06:04 | Superclassର Public କିମ୍ୱା Protected ମେଥଡ୍ସ ରହିପାରେ |
06:09 | ଏହି ମେଥଡଗୁଡ଼ିକ, ନିଜ ନିଜର Private କ୍ଷେତ୍ରରେ ପ୍ରବେଶ କରିପାରନ୍ତି |
06:13 | ଏହି ମେଥଡଗୁଡ଼ିକ ମାଧ୍ୟମରେ Subclass ମଧ୍ୟ Private କ୍ଷେତ୍ରରେ ପ୍ରବେଶ କରିପାରେ |
06:18 | ତେଣୁ, ଏହାକୁ Publicକୁ ବଦଳାଇଦିଅନ୍ତୁ |
06:21 | ଏବେ ଚାଲନ୍ତୁ, Manager Classରେ getDetails ମେଥଡକୁ ମିଶାଇବା |
06:27 | ଏହି ମେଥଡ୍ Name, Email_Address ଓ Department ରିଟର୍ନ କରିବ |
06:33 | ତେଣୁ, ଟାଇପ୍ କରନ୍ତୁ: public String getDetails ପାରାନ୍ଥେସେସ୍ |
06:39 | Method ଭିତରେ ଟାଇପ୍ କରନ୍ତୁ: return ବ୍ରାକେଟ୍ସ ମଧ୍ୟରେ Name ପ୍ଲସ୍ getName() ପ୍ଲସ୍ ସ୍ଲାଶ୍ n ପ୍ଲସ୍ Email ପ୍ଲସ୍ getEmail() ପ୍ଲସ୍ ସ୍ଲାଶ୍ n ପ୍ଲସ୍ Manager of ପ୍ଲସ୍ getDepartment() ସେମିକୋଲନ୍. ଫାଇଲ୍ ସେଭ୍ କରନ୍ତୁ |
07:07 | ଧ୍ୟାନଦିଅନ୍ତୁ ଯେ, ଏବେ, ଉଭୟ Manager ଓ Employee Classରେ getDetails ମେଥଡ୍ ରହିଛି |
07:15 | ଉଭୟ Classରେ ମେଥଡ୍ ର Name, Return Type ଓ Argument List ସମାନ ଅଟେ |
07:22 | Subclassରେ ଥିବା ଏକ ମେଥଡ୍, Parent Classରେ ଥିବା ମେଥଡ୍ କୁ Override କରିଥାଏ, ଯଦି:
ସମାନ ଭାବେ ମେଳଖାଏ |
07:33 | ଏବେ, Manager Classକୁ ଫେରିଆସନ୍ତୁ |
07:36 | getDetails() ମେଥଡ୍ ପୂର୍ବରୁ ଟାଇପ୍ କରନ୍ତୁ: @Override |
07:43 | ଏହା ଏକ Override Annotation ଅଟେ. ଏହା ସୂଚିତ କରେ ଯେ, ଗୋଟିଏ ମେଥଡ୍ ର ଉଦ୍ଦେଶ୍ୟ ହେଉଛି, Superclassରେ ଥିବା ଏକ ମେଥଡ୍ କୁ Override କରିବା |
07:53 | ଏବେ ଚାଲନ୍ତୁ ଦେଖିବା, Annotation କ’ଣ |
07:57 | Annotations:
|
08:10 | ଯଦି ଗୋଟିଏ ମେଥଡ୍ କୁ @Override ସହିତ ବ୍ୟାଖ୍ୟା କରାଯାଇଥାଏ, କମ୍ପାଇଲର୍ Error ଜେନେରେଟ୍ କରେ, ଯଦି:
|
08:23 | * ନିଜର Superclassରେ ମେଥଡ୍ ସ୍ୱାକ୍ଷର ଭିନ୍ନହୋଇଥାଏ |
08:28 | ଏବେ IDEକୁ ଫେରିଆସନ୍ତୁ. Manager Classକୁ ଫେରିଆସନ୍ତୁ |
08:34 | at (@) ଚିହ୍ନ, କମ୍ପାଇଲର୍ କୁ, ଏହାପରେ ଗୋଟିଏ Annotaion ଆସୁଛି ବୋଲି ସୂଚିତ କରେ |
08:42 | ଏଠାରେ, ଏହା ଦେଖାଏ ଯେ, getDetails ମେଥଡ୍ Override ହୋଇଯାଇଛି |
08:48 | ଏବେ, TestEmployee Classକୁ ଆସନ୍ତୁ. |
08:51 | ପ୍ରୋଗ୍ରାମ୍ କୁ ସେଭ୍ କରି ରନ୍ କରନ୍ତୁ |
08:55 | ଆମେ ନିମ୍ନ ଆଉପୁଟ୍ ପାଇଲେ:
Name: Nikkita Dinesh Email: abc@gmail.com Manager of Accounts |
09:05 | ଏଠାରେ, Manager Classର ଅବଜେକ୍ଟ, getDetails() ମେଥଡ୍ କୁ କଲ୍ କରିଥାଏ |
09:11 | କିନ୍ତୁ ଏଥରକ ଏହା, Manager Classର ମେଥଡ୍ କୁ ହିଁ କଲ୍ କରିଥାଏ |
09:16 | ଏହିଭଳି ଭାବେ ଆମେ, Subclass ଦ୍ୱାରା Parent Classର ମେଥଡ୍ କୁ Override କଲେ |
09:23 | ସଂକ୍ଷିପ୍ତରେ, ଏହି ଟ୍ୟୁଟୋରିଆଲ୍ ରେ ଆମେ ନିମ୍ନଲିଖିତ ଶିଖିଲେ:
|
09:31 | ଏକ ଆସାଇନମେଣ୍ଟ ଭାବେ, ଏକ Class Vehicle ତିଆରି କରନ୍ତୁ, ଯାହାର ଏକ Run ମେଥଡ୍ ଅଛି, ଯାହା ପ୍ରିଣ୍ଟ କରେ The Vehicle is Running |
09:40 | ଏକ Bike Class ମଧ୍ୟ ତିଆରି କରନ୍ତୁ, ଯାହାର ଏକ Run ମେଥଡ୍ ଅଛି, ଯାହା ପ୍ରିଣ୍ଟ କରେ The Bike is Running Safely |
09:48 | ଆଉଟପୁଟ୍, The Bike is Running Safely ହେବା ଦରକାର |
09:52 | ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ପ୍ରୋଜେକ୍ଟ ବିଷୟରେ ଅଧିକ ଜାଣିବା ପାଇଁ ନିମ୍ନ ଲିଙ୍କରେ ଉପଲବ୍ଧ ଭିଡିଓକୁ ଦେଖନ୍ତୁ. ଏହା ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ପ୍ରୋଜେକ୍ଟକୁ ସାରାଂଶିତ କରେ. ଯଦି ଆପଣଙ୍କର ଭଲ ବ୍ୟାଣ୍ଡୱିଡଥ୍ ନାହିଁ, ଏହାକୁ ଡାଉନଲୋଡ୍ କରିଦେଖିପାରିବେ |
10:06 | ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ପ୍ରୋଜେକ୍ଟ ଟିମ୍:
ଅଧିକ ବିବରଣୀ ପାଇଁ ଦୟାକରି "କଣ୍ଟାକ୍ଟ ଆଟ୍ ସ୍ପୋକନ୍ ହାଇଫେନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ଡଟ୍ ଓଆରଜି (contact@spoken-tutorial,org)କୁ ଲେଖନ୍ତୁ |
10:21 | ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ ପ୍ରୋଜେକ୍ଟ, ଟକ୍ ଟୁ ଏ ଟିଚର୍ ପ୍ରୋଜେକ୍ଟର ଏକ ଅଂଶ. ଏହା ଭାରତ ସରକାରଙ୍କ MHRDର ICT ମାଧ୍ୟମରେ ରାଷ୍ଟ୍ରୀୟ ସାକ୍ଷରତା ମିଶନ୍ ଦ୍ୱାରା ସମର୍ଥିତ.
ଏହି ମିଶନ୍ ଉପରେ ଅଧିକ ବିବରଣୀ, http://spoken-tutorial.org/NMEICT- Introରେ ଉପଲବ୍ଧ |
10:42 | ଆଇଆଇଟି ବମ୍ୱେ ତରଫରୁ ମୁଁ ପ୍ରଦୀପ ଚନ୍ଦ୍ର ମହାପାତ୍ର ଆପଣଙ୍କଠାରୁ ବିଦାୟ ନେଉଛି.
ଆମ ସହିତ ଜଡ଼ିତ ହୋଇଥିବାରୁ ଧନ୍ୟବାଦ |