Advanced-Cpp/C2/Classes-And-Objects/Oriya

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

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time Narration
00:01 ବନ୍ଧୁଗଣ, Classes and Objects in C++ ଉପରେ ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲକୁ ସ୍ଵାଗତ
00:07 ଏହି ଟ୍ୟୁଟୋରିଆଲରେ ଆମେ:
00:09 Classes
00:11 Objects, Encapsulation ଓ
00:14 ଡେଟା abstractionକୁ ଶିଖିବା
00:16 ଏହାକୁ ଗୋଟିଏ ଉଦାହରଣ ସାହାଯ୍ୟରେ କରନ୍ତୁ
00:20 ଏହି ଟ୍ୟୁଟୋରିଆଲକୁ ରେକର୍ଡ କରିବା ପାଇଁ ମୁଁ ବ୍ୟବହାର କରୁଛି:
00:23 Ubuntu OS ଭର୍ସନ୍ 11.10
00:28 g++ କମ୍ପାଇଲର୍ ଭର୍ସନ୍ 4.6.1
00:32 ଚାଲନ୍ତୁ classଗୁଡିକର ପରିଚୟ ସହିତ ଆରମ୍ଭ କରିବା
00:36 କୀୱର୍ଡ classକୁ ବ୍ୟବହାର କରାଯାଇ ଗୋଟିଏ Classର ସୃଷ୍ଟି କରାଯାଏ
00:39 ଏହା ଡେଟା ଓ ଫଙ୍କଶନଗୁଡିକୁ ଧାରଣ କରେ
00:42 Class, କୋଡ୍ ଓ ଡେଟାକୁ ଲିଙ୍କ କରିଥାଏ
00:45 classର ଡେଟା ଓ ଫଙ୍କଶନଗୁଡିକୁ, କ୍ଲାସର ମେମ୍ବର ବୋଲି କୁହାଯାଏ
00:51 objectକୁ ଚାଲନ୍ତୁ ଯିବା
00:53 Objectଗୁଡିକ ଭେରିଏବଲ୍ ଅଟନ୍ତି
00:55 ସେଗୁଡିକ ଗୋଟିଏ classର କପୀ ଅଟନ୍ତି
00:58 ସେଗୁଡିକ ପ୍ରତ୍ୟେକଙ୍କର properties ଓ behavior ଥାଏ
01:01 Properties, ଡେଟା ଏଲିମେଣ୍ଟଗୁଡିକ ମାଧ୍ୟମରେ ଏବଂ
01:06 behavior, ମେମ୍ବର ଫଙ୍କଶନଗୁଡିକ ମାଧ୍ୟମରେ ଯାହାକୁ methods କୁହାଯାଏ, ପରିଭାଷିତ ହୁଅନ୍ତି
01:10 ବର୍ତ୍ତମାନ ଗୋଟିଏ କ୍ଲାସ୍ ପାଇଁ ଥିବା syntaxକୁ ଦେଖିବା
01:14 ଏଠାରେ, ଗୋଟିଏ କ୍ଲାସକୁ ପରିଭାଷିତ କରିବା ପାଇଁ କୀୱର୍ଡ classର ବ୍ୟବହାର କରାଯାଏ
01:18 Class-name ହେଉଛି କ୍ଲାସର ନାମ
01:21 public, private ଓ protected, access specifier ଅଟନ୍ତି
01:26 ଏବଂ ଏଠାରେ ଡେଟା ମେମ୍ବରମାନଙ୍କୁ ଏବଂ ମେମ୍ବର୍ ଫଙ୍କଶନଗୁଡିକୁ ଯେପରି public, private ଓ protectedକୁ ପରିଭାଷିତ କରାଯାଇଛି
01:34 ଏହିପରି ଭାବେ classକୁ ବନ୍ଦ କରନ୍ତୁ
01:37 ବର୍ତ୍ତମାନ ଚାଲନ୍ତୁ ଗୋଟିଏ ଉଦାହରଣକୁ ଦେଖିବା
01:39 editor ଉପରେ କୋଡକୁ ଟାଇପ୍ କରାଯାଇସାରିଛି
01:42 ଏହାକୁ ଖୋଲନ୍ତୁ
01:44 ଧ୍ୟାନଦିଅନ୍ତୁ ଯେ ଫାଇଲ୍ ନାମ class ହାଇଫେନ୍ obj ଡଟ୍ cpp ଅଟେ
01:50 ଏହି ଉଦାହରଣରେ, classକୁ ବ୍ୟବହାର କରି ଗୋଟିଏ ବର୍ଗକ୍ଷେତ୍ରର କ୍ଷେତ୍ରଫଳକୁ ଗଣନା କରନ୍ତୁ
01:56 ବର୍ତ୍ତମାନ କୋଡକୁ ବର୍ଣ୍ଣନା କରନ୍ତୁ
01:58 iostream, ଯାହା ହେଉଛି ହେଡର୍ ଫାଇଲ୍
02:02 ଏଠାରେ std namespaceକୁ ବ୍ୟବହାର କରନ୍ତୁ
02:06 square ନାମକ ଗୋଟିଏ classର ଘୋଷଣା କରାଯାଇଛି
02:10 ଏଠାରେ, କୌଣସି access specifierର ଘୋଷଣା କରାଯାଇ ନାହିଁ
02:14 ତେଣୁ, ଡିଫଲ୍ଟ ଭାବେ ଏହା private ଅଟେ
02:17 ତେଣୁ ଭେରିଏବଲ୍ x, square କ୍ଲାସର ଗୋଟିଏ privateମେମ୍ବର୍ ଅଟେ
02:22 ଏହା public specifier ଅଟେ
02:25 ଫଙ୍କଶନ୍ area, ଗୋଟିଏ public ଫଙ୍କଶନ୍ ଅଟେ
02:28 ଏବଂ ଏହିପରି କ୍ଲାସକୁ ବନ୍ଦ କରନ୍ତୁ
02:31 ବର୍ତ୍ତମାନ, access specifiers ବିଷୟରେ ଅଧିକ ଜାଣିବା ପାଇଁ slideକୁ ଫେରିଆସନ୍ତୁ
02:36 Public specifier-
02:39 public ସ୍ପେସିଫାୟର୍ ଡେଟାଗୁଡିକୁ classର ବାହାରେ ଆକ୍ସେସ୍ କରିବା ପାଇଁ ଅନୁମତି ଦେଇଥାଏ
02:44 ଗୋଟିଏ public ମେମ୍ବରକୁ, ପ୍ରୋଗ୍ରାମର ଯେକୌଣସି ସ୍ଥାନରେ ବ୍ୟବହାର କରାଯାଇପାରିବ
02:49 Private specifier-
02:51 private ଭାବେ ଘୋଷଣା କରାଯାଇଥିବା ମେମ୍ବରକୁ, classର ବାହାରେ ଆକ୍ସେସ୍ କିମ୍ବା ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ
02:57 private ମେମ୍ବରମାନଙ୍କୁ କେବଳ classର ମେମ୍ବରମାନଙ୍କ ଦ୍ଵାରା ବ୍ୟବହାର କରାଯାଇପାରିବ
03:03 Protected specifier-
03:05 protected ମେମ୍ବରମାନଙ୍କୁ classର ବାହାରେ ଆକ୍ସେସ୍ କରିପାରିବେ ନାହିଁ
03:10 ସେଗୁଡିକୁ କେବଳ ଗୋଟିଏ derived, class ଦ୍ଵାରା ଆକ୍ସେସ୍ କରିପାରିବେ
03:13 ପ୍ରୋଗ୍ରାମକୁ ଫେରିଆସନ୍ତୁ
03:16 ଏଠାରେ, ଏହି ଷ୍ଟେଟମେଣ୍ଟ ମଧ୍ୟରେ classର ନାମ,
03:21 scope resolution operator ଏବଂ ଫଙ୍କଶନ୍ ନାମ ଅଛି
03:25 ଏହି ଅପରେଟରକୁ ନିଶ୍ଚିତଭାବେ ବ୍ୟବହାର କରନ୍ତୁ
03:27 ଏହା ନିର୍ଦ୍ଦିଷ୍ଟ କରେ ଯେ ଫଙ୍କଶନ୍ area, ଗୋଟିଏ global ଫଙ୍କଶନ୍ ନୁହେଁ
03:33 ଏହା square କ୍ଲାସର ଗୋଟିଏ ମେମ୍ବର୍ ଫଙ୍କଶନ୍ ଅଟେ
03:36 ଏଠାରେ, int a ଭାବେ ଗୋଟିଏ argumentକୁ ପାସ୍ କରାଯାଇଛି
03:40 ବର୍ତ୍ତମାନ, scope resolution operator ବିଷୟରେ ଅଧିକ ଜାଣିବା ପାଇଁ, slideକୁ ଫେରିଆସନ୍ତୁ
03:46 ଏହାକୁ ଲୁକ୍କାୟିତ ଡେଟାକୁ ଆକ୍ସେସ୍ କରିବା ପାଇଁ ବ୍ୟବହାର କରନ୍ତୁ
03:49 ସମାନ ନାମ ଥିବା variable କିମ୍ବା functionକୁ ଆକ୍ସେସ୍ କରିବା ପାଇଁ, scope resolution operatorର ବ୍ୟବହାର କରନ୍ତୁ
03:56 local ଭେରିଅଏବଲ୍ ଓ global ଭେରିଏବଲର ସମାନ ନାମ ଥିବାର ଅନୁମାନ କରନ୍ତୁ
04:01 local ଭେରିଏବଲକୁ ଅଗ୍ରାଧିକାର ମିଳିବ
04:05 scope resolution operatorକୁ ବ୍ୟବହାର କରି global ଭେରିଅଏବଲକୁ ଆକ୍ସେସ୍ କରନ୍ତୁ
04:10 ବର୍ତ୍ତମାନ ପ୍ରୋଗ୍ରାମକୁ ଫେରିଆସନ୍ତୁ
04:12 ଏଠାରେ aର ଭେଲ୍ୟୁ, xରେ ଷ୍ଟୋର୍ ହୋଇଛି
04:17 ତା’ପରେ ବର୍ଗକ୍ଷେତ୍ରର area ପ୍ରାପ୍ତ କରନ୍ତୁ
04:20 ଏଠାରେ x ଗୋଟିଏ private ମେମ୍ବର୍ ଅଟେ
04:22 private parameterକୁ ଆକ୍ସେସ୍ କରିବା ପାଇଁ, public ମେମ୍ବର୍ aକୁ ବ୍ୟବହାର କରନ୍ତୁ
04:27 privateମେମ୍ବରଗୁଡିକ ସର୍ବଦା ଲୁକ୍କାୟିତ ଭାବେ ଥା’ନ୍ତି
04:30 ଏହା main ଫଙ୍କଶନ୍ ଅଟେ
04:33 ଏଠାରେ sqr, square କ୍ଲାସର ଅବଜେକ୍ଟ ଅଟେ
04:37 ଏହିପରି ଗୋଟିଏ objectର ସୃଷ୍ଟି କରାଯାଏ
04:40 class-name ପଛକୁ object-name ରହିଥାଏ
04:43 ଏଠାରେ ଅବଜେକ୍ଟ sqr ଏବଂ ଗୋଟିଏ .(ଡଟ୍) ଅପରେଟରକୁ ବ୍ୟବହାର କରି, ଫଙ୍କଶନ୍ areaକୁ କଲ୍ କରନ୍ତୁ
04:50 ତା’ପରେ 4 ଭାବେ ଗୋଟିଏ argumentକୁ ପାସ୍ କରନ୍ତୁ
04:53 xର ଭାଲ୍ୟୁକୁ 4 ଭାବେ ସେଟ୍ କରନ୍ତୁ
04:57 ଏହା return ଷ୍ଟେଟମେଣ୍ଟ ଅଟେ. ବର୍ତ୍ତମାନ Save ଉପରେ କ୍ଲିକ୍ କରନ୍ତୁ
05:00 ପ୍ରୋଗ୍ରାମକୁ ନିଷ୍ପାଦନ କରନ୍ତୁ
05:03 କୀବୋର୍ଡ ଉପରେ Ctrl, Alt ଓ T କୀକୁ ଏକ ସଙ୍ଗେ ଦାବି ଟର୍ମିନଲ୍ ୱିଣ୍ଡୋକୁ ଖୋଲନ୍ତୁ
05:11 କମ୍ପାଇଲ୍ କରିବା ପାଇଁ, ଟାଇପ୍ କରନ୍ତୁ: g++ ସ୍ପେସ୍ class ହାଇଫେନ୍ obj ଡଟ୍ cpp ସ୍ପେସ୍ ହାଇଫେନ୍ o ସ୍ପେସ୍ class
05:20 Enter ଦାବନ୍ତୁ
05:22 ଟାଇପ୍ କରନ୍ତୁ, ./class(ଡଟ୍ ସ୍ଲାଶ୍ କ୍ଲାସ୍)
05:24 Enter ଦାବନ୍ତୁ. ଆଉଟପୁଟ୍ ପ୍ରଦର୍ଶିତ ହେବ:
05:28 Area of the square is 16
05:30 ବର୍ତ୍ତମାନ, ପ୍ରୋଗ୍ରାମକୁ ଫେରିଆସନ୍ତୁ
05:35 ବର୍ତ୍ତମାନ ପର୍ଯ୍ୟନ୍ତ ଯାହା ଆମେ ଦେଖିଲେ,
05:37 ଗୋଟିଏ class ମଧ୍ୟରେ ଡେଟା ଓ ଫଙ୍କଶନଗୁଡିକ ମିଶି ଏକତ୍ର ହୁଅନ୍ତି
05:41 class ଗୋଟିଏ ସିଙ୍ଗଲ୍ ୟୁନିଟ୍ ଅଟେ
05:44 ଯେଉଁଠି ବ୍ୟବହାର ହୋଇଥିବା ଡେଟା ଓ ଫଙ୍କଶନ୍ ଗ୍ରୁପ୍ ହୋଇଛି
05:49 ଏହି ପ୍ରଣାଳିକୁ Encapsulation କୁହାଯାଏ
05:53 ତା’ପରେ private ଓ public ମେମ୍ବରମାନଙ୍କ ସହିତ କ୍ଲାସକୁ ଦେଖନ୍ତୁ
05:59 private ଡେଟା ଲୁକ୍କାୟିତ ଭାବେ ଅଛି
06:02 ଏହାକୁ classର ବାହାରେ ଆକ୍ସେସ୍ କରିପାରିବେ ନାହିଁ
06:05 ଏହି ପ୍ରଣାଳିକୁ Data abstraction କୁହାଯାଏ
06:09 interface ଦୃଶ୍ୟମାନ ହେବ କିନ୍ତୁ ଇମପ୍ଲିମେଣ୍ଟେଶନ୍ ଲୁକ୍କାୟିତ ଭାବେ ରହିବ
06:14 ଏହା ଆମକୁ ଏହି ଟ୍ୟୁଟୋରିଆଲର ସମାପ୍ତିକୁ ଆଣେ
06:17 slideକୁ ଫେରିଆସନ୍ତୁ. ସଂକ୍ଷିପ୍ତରେ
06:20 ଏହି ଟ୍ୟୁଟୋରିଆଲରେ ଆମେ ନିମ୍ନଲିଖିତ ଶିଖିଲେ:
06:23 Encapsulation ଡେଟା Abstraction
06:25 Private ମେମ୍ବର
06:27 int x;
06:29 Public ଫଙ୍କଶନ୍ int area(int);
06:32 classes, class square
06:35 ଅବଜେକ୍ଟ ସୃଷ୍ଟି କରିବା,
06:37 square sqr;
06:39 object sqr ଡଟ୍ area()କୁ ବ୍ୟବହାର କରି ଗୋଟିଏ ଫଙ୍କଶନକୁ କଲ୍ କରିବା;
06:43 ଗୋଟିଏ ଆସାଇନମେଣ୍ଟ ଭାବେ: ଗୋଟିଏ ପ୍ରଦତ୍ତ ବୃତ୍ତର ପରିସୀମାକୁ ପ୍ରାପ୍ତ କରିବା ପାଇଁ ଏକ ପ୍ରୋଗ୍ରାମ୍ ଲେଖନ୍ତୁ
06:49 ନିମ୍ନ ଲିଙ୍କରେ ଉପଲବ୍ଧ ଥିବା ଭିଡିଓକୁ ଦେଖନ୍ତୁ
06:52 ଏହା ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ପ୍ରୋଜେକ୍ଟକୁ ସାରାଂଶିତ କରେ
06:55 ଯଦି ଆପଣଙ୍କର ଭଲ ବ୍ୟାଣ୍ଡୱିଡଥ୍ ନାହିଁ, ଏହାକୁ ଡାଉନଲୋଡ୍ କରିଦେଖିପାରିବେ
07:00 ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ ପ୍ରୋଜେକ୍ଟ ଟିମ୍:
07:02 ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ୍ସ ବ୍ୟବହାର କରି କର୍ମଶାଳାମାନ ଚଲାନ୍ତି,
07:05 ଅନଲାଇନ୍ ଟେଷ୍ଟ ପାସ୍ କରୁଥିବା ବ୍ୟକ୍ତିମାନଙ୍କୁ ପ୍ରମାଣପତ୍ର ଦିଅନ୍ତି.
07:09 ଅଧିକ ବିବରଣୀ ପାଇଁ ଦୟାକରି contact@spoken-tutorial.orgକୁ ଲେଖନ୍ତୁ
07:16 ସ୍ପୋକନ୍ ଟ୍ୟୁଟୋରିଆଲ ପ୍ରୋଜେକ୍ଟ, ଟକ୍ ଟୁ ଏ ଟିଚର୍ ପ୍ରୋଜେକ୍ଟର ଏକ ଅଂଶ
07:20 ଏହା ଭାରତ ସରକାରଙ୍କ MHRDର ICT ମାଧ୍ୟମରେ ରାଷ୍ଟ୍ରୀୟ ସାକ୍ଷରତା ମିଶନ୍ ଦ୍ୱାରା ସମର୍ଥିତ
07:26 ଏହି ମିଶନ୍ ଉପରେ ଅଧିକ ବିବରଣୀ ନିମ୍ନ ଲିଙ୍କରେ ଉପଲବ୍ଧ
07:31 ଆଇଆଇଟି ବମ୍ୱେ ତରଫରୁ, ପ୍ରଦୀପ ମହାପାତ୍ରଙ୍କ ସହ ମୁଁ ପ୍ରଭାସ ତ୍ରିପାଠୀ ଆପଣଙ୍କଠାରୁ ବିଦାୟ ନେଉଛି. ଆମ ସହିତ ଜଡ଼ିତ ହୋଇଥିବାରୁ ଧନ୍ୟବାଦ

Contributors and Content Editors

Pradeep