Java/C3/Subclassing-and-Method-Overriding/Oriya

From Script | Spoken-Tutorial
Revision as of 12:03, 20 December 2017 by Pradeep (Talk | contribs)

Jump to: navigation, search
Time
Narration
00:01 Subclassing ଓ Method Overriding ଉପରେ ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲକୁ ସ୍ୱାଗତ
00:06 ଏହି ଟ୍ୟୁଟୋରିଆଲ୍ ରେ ଆମେ ଶିଖିବା,
  • subclassing
  • extends କୀୱର୍ଡ୍ସ ଓ
  • method overriding
00:15 ଏଠାରେ ଆମେ ବ୍ୟବହାର କରୁଛୁ:
  • ଉବୁଣ୍ଟୁ ଲିନକ୍ସ OS ଭର୍ସନ୍ 12.04
  • JDK 1.7
  • Eclipse 4.3.1
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 କରିଥାଏ, ଯଦି:
  • Name
  • Return Type
  • Argument List

ସମାନ ଭାବେ ମେଳଖାଏ

07:33 ଏବେ, Manager Classକୁ ଫେରିଆସନ୍ତୁ
07:36 getDetails() ମେଥଡ୍ ପୂର୍ବରୁ ଟାଇପ୍ କରନ୍ତୁ: @Override
07:43 ଏହା ଏକ Override Annotation ଅଟେ. ଏହା ସୂଚିତ କରେ ଯେ, ଗୋଟିଏ ମେଥଡ୍ ର ଉଦ୍ଦେଶ୍ୟ ହେଉଛି, Superclassରେ ଥିବା ଏକ ମେଥଡ୍ କୁ Override କରିବା
07:53 ଏବେ ଚାଲନ୍ତୁ ଦେଖିବା, Annotation କ’ଣ
07:57 Annotations:
  • at (@) ଚିହ୍ନ ସହିତ ଆରମ୍ଭ ହୁଏ
  • ଗୋଟିଏ ପ୍ରୋଗ୍ରାମ୍ ବିଷୟରେ ତଥ୍ୟ ପ୍ରଦାନ କରେ
  • କୋଡ୍ ର କାର୍ଯ୍ୟ ଉପରେ କୌଣସି ପ୍ରତ୍ୟକ୍ଷ ପ୍ରଭାବ ନଥାଏ
08:10 ଯଦି ଗୋଟିଏ ମେଥଡ୍ କୁ @Override ସହିତ ବ୍ୟାଖ୍ୟା କରାଯାଇଥାଏ, କମ୍ପାଇଲର୍ Error ଜେନେରେଟ୍ କରେ, ଯଦି:
  • Superclassରେ ଘୋଷିତ ହୋଇଥିବା ଗୋଟିଏ ମେଥଡ୍ କୁ ମେଥଡ୍ Override କରେ
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 ସଂକ୍ଷିପ୍ତରେ, ଏହି ଟ୍ୟୁଟୋରିଆଲ୍ ରେ ଆମେ ନିମ୍ନଲିଖିତ ଶିଖିଲେ:
  • Subclassing ଓ
  • Method Overriding
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 ଆଇଆଇଟି ବମ୍ୱେ ତରଫରୁ ମୁଁ ପ୍ରଦୀପ ଚନ୍ଦ୍ର ମହାପାତ୍ର ଆପଣଙ୍କଠାରୁ ବିଦାୟ ନେଉଛି.

ଆମ ସହିତ ଜଡ଼ିତ ହୋଇଥିବାରୁ ଧନ୍ୟବାଦ

Contributors and Content Editors

PoojaMoolya, Pradeep