Java/C3/Polymorphism/Assamese

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:01 java ত Polymorphism ইয়াৰ টিউটোৰিয়েলত আপোনাক স্বাগতম।
00:06 ইয়াতে আমি শিকিম:

java ত Polymorphism

Run-time polymorphism

Virtual Method Invocation আৰু

Compile-time polymorphism.

00:19 ইয়াতে ব্যবহাৰ কৰিছো: উবুন্টু লিনাক্স সংস্কৰণ 12.04 JDK সংস্কৰণ 1.7 আৰু Eclipse 4.3.1
00:31 টিউটোৰিয়েলটো অনুসৰণ কৰিবলৈ Java আৰু Eclipse IDE ইয়াৰ মৌলিক জ্ঞান থাকিব লাগিব।
00:37 Subclassing, Method overriding আৰু overloading সম্পর্কে জ্ঞান থাকিব লাগিব।
00:43 নহলে, প্ৰাসঙ্গিক Java টিউটোৰিয়েলবোৰৰ বাবে, আমাৰ ওয়েবসাইটত যাওক।
00:48 Polymorphism ই এটা অবজেক্টৰ বিভিন্ন ৰুপ লোৱাৰ ক্ষমতা ৰাখে।
00:54 Polymorphism ইয়াৰ প্ৰধান সুবিধা হল: Reduction of complexity আৰু Code re-usability.
01:03 জাভাত দুটা ধৰনৰ polymorphism আছে: Compile-time আৰু Run-time polymorphism.
01:11 Compile-time polymorphism মূলত Method overloading হিসাবে পৰিচিত। এইটোক Static Bindingও বোলে।
01:20 Run-time polymorphism মূলত Method overriding হিসাবে পৰিচিত। এইটোক Dynamic Binding ও বোলে।
01:29 আমি ইতিমধ্যে Run-time polymorphism অর্থাৎ Method overriding সম্পর্কে শিকিছো।
01:35 Eclipse IDE ত যাও। মই ইতিমধ্যে পূর্বৰ টিউটোৰিয়েলত MyProject নামৰ প্ৰজেক্ট বনাইছো।
01:44 Using final keyword টিউটোৰিয়েলৰ কোড ফাইল লও।
01:49 Employee ক্লাস হল parent ক্লাস।
01:52 Manager ক্লাস হল subclass.
01:55 Manager ক্লাসত এটা অতিৰিক্ত ভ্যাৰিয়েবল department আছে।
02:01 Manager ক্লাস মেথড getDetails(), Employee ক্লাস মেথড getDetails() ক override কৰে।
02:08 আমি Manager ক্লাস অবজেক্ট দ্বাৰা getDetails () মেথডক কল কৰিছো অর্থাৎ Manager.
02:16 বিবৰণক প্ৰিন্ট কৰিবলৈ লিখক: system.out.println Details of Manager Class.
02:28 প্ৰোগ্ৰাম সংৰক্ষণ কৰি ৰান কৰক। আমি আউটপুটত department ভ্যাৰিয়েবল ভ্যালু দেখো।
02:37 সেয়ে subclass মেথডক runtimeত প্ৰয়োগ কৰা হয়।
02:42 মেথড invocation, JVM দ্বাৰা নির্ধাৰণ কৰা হয়, কম্পাইলাৰ দ্বাৰা নহয়।
02:48 সেয়ে এইটোক Runtime polymorphism বা method overriding হিসাবে পৰিচিত।
02:55 আমি Run time polymorphism শিকিছো।
02:58 এতিয়া Virtual Method Invocation শিকো।
03:03 Eclipse IDE ত Employee ক্লাসত আহক।
03:07 ভ্যাৰিয়েবল name ইয়াৰ বাবে 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 ওপেন আৰু ক্লোস প্ৰথম বন্ধনী সেমিকোলন
03:57 এতিয়া Employee ক্লাসৰ বাবে setEmail আৰু setName ইয়াৰ বাবে ভ্যালু ইনিসিয়েলাইজ কৰক।
04:03 লিখক: emp1.setName("Jayesh"); emp1.setEmail("pqr@gmail.com");
04:16 employee বিবৰণ প্ৰিন্ট কৰিবলৈ লিখক: System.out.println("Details of Employee class:" emp1.getDetails()) সেমিকোলন।
04:37 Employee ক্লাসৰ বাবে Manager অবজেক্ট emp2 দেখাও।

লিখক: Employee emp2 = new Manager ওপেন আৰু ক্লোস প্ৰথম বন্ধনী সেমিকোলন।

04:54 আমি এইটোক কৰিবলৈ সক্ষম কাৰণ যি কোনো Java object যি একাধিক IS-A টেস্ট পাস কৰে, হল polymorphic.
05:04 জাভাত সকলো অবজেক্ট হল polymorphic, কাৰণ যি কোনো অবজেক্টে IS-A টেস্ট তাৰ নিজস্ব ধৰন আৰু ক্লাস অবজেক্টৰ বাবে পাস কৰিব।
05:16 A Manager IS-A Employee

A Manager IS-A Manager

A Manager IS-A Object.

05:23 reference variable দ্বাৰা কোনো অবজেক্ট পর্যন্ত পাবলৈ মাত্ৰ এটা সম্ভাব্য উপায় আছে।
05:29 Reference variables যেনে 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 কাৰণ setDepartment মেথড Employee ইয়াৰ বাবে বিদ্যমান নহয়।
06:30 এতিয়া emp2.setDepartment("IT"); অতৰাই দিয়ক
06:37 বিবৰণক প্ৰিন্ট কৰিবলৈ লিখক: System.out.println("Details of Manager class:" emp2.getDetails()) সেমিকোলন।
06:55 প্ৰোগ্ৰামটো সংৰক্ষণ কৰি ৰান কৰক।
06:58 ইয়াতে আউটপুটত, আমি Manager of: ইয়াক খালি পাইছো।
07:04 কাৰণ, আমি emp2 দ্বাৰা Manager ক্লাসত department ইনিসিয়েলাইজ কৰা নাই।
07:12 ডেমোৰ উদ্দেশ্যে, ডিফল্ট department হল IT.
07:17 Manager ক্লাসত যাওক আৰু department ইয়াৰ বাবে ভ্যালু ইনিসিয়েলাইজ কৰক।
07:25 প্ৰোগ্ৰামটো সংৰক্ষণ কৰি ৰান কৰক।
07:28 আউটপুট হল : Employee অবজেক্ট Employee ক্লাস উল্লেখ কৰি,
07:34 Manager অবজেক্ট Employee ক্লাস উল্লেখ কৰি আৰু Manager অবজেক্ট Manager ক্লাস

উল্লেখ কৰি।

07:42 ইয়াতে দেখো যে Manager ক্লাসৰ getDetails() মেথডক emp2 দ্বাৰা কল কৰা হয়।
07:49 কিন্তু যেতিয়া emp2, setDepartmentক কল কৰাৰ চেষ্টা কৰে, এটা এৰৰ পাই।
07:54 ইয়াৰ কাৰণ নিম্নৰুপ:

কম্পাইলাৰে emp2.getDetails() ইয়াৰ সময়ত Employee ক্লাসত getDetails () মেথড দেখে।

08:05 এইটোৱে কোনো এৰৰ নিদিয়ে আৰু কোডটোক চেক কৰে।
08:10 run timeত যদিও Manager ক্লাসত JVM, getDetails () লাগু কৰে কাৰণ Manager ক্লাসৰ getDetails (), Employee ক্লাসৰ getDetails () ইয়াক override কৰে।
08:24 আমি Manager ক্লাসৰ getDetails() অনুযায়ী আউটপুট পাও। কিন্তু কম্পাইলাৰে Employee ক্লাসত setDepartment মেথড নেদেখে।
08:36 সেয়ে, emp2ক কল কৰিলে setDepartment এটা এৰৰ দিয়ে।
08:43 ইয়াত, Employee মেথড getDetails(), Employee ক্লাসৰ বাবে লাগু হয়।
08:49 কম্পাইলাৰে emp1.getDetails() ইয়াৰ সময়ত getDetails () ইয়াৰ বাবে Employee ক্লাস উল্লেখ কৰে।
08:57 ৰান টাইমত JVM, Employee ক্লাসত getDetails () লাগু কৰে। আমি Employee ক্লাসৰ getDetails () অনুযায়ী আউটপুট পাও।
09:08 সেয়ে JVM, object ইয়াৰ বাবে উপযুক্ত মেথড কল কৰে যি প্ৰতিটো ভ্যাৰিয়েবোলত নির্দিষ্ট কৰা হয়।
09:16 এই ব্যবহাৰ Virtual Method Invocation ৰুপে উল্লেখ কৰা হয়।
09:21 মেথড Virtual Methods হিসাবে উল্লিখিত।
09:26 জাভাত সকলো মেথডে এই উপায়ত আচৰণ কৰে।
09:31 আমি সফলভাবে শিকিছো যে Virtual Method Invocation কি।
09:36 আমি ইতিমধ্যে Compile-time polymorphism অর্থাৎ method overloading সম্পর্কে শিকিছো।
09:42 সংক্ষেপে দেখো যে Compile time polymorphism কি।
09:47 Compile time polymorphismত, ক্লাসত একাধিক মেথড থাকিব পাৰে।
09:53 মেথডৰ একেই নাম হয় কিন্তু বিভিন্ন আর্গুমেন্ট সহ।
09:59 কম্পাইলাৰে কম্পাইল-টাইমত মেথড কল কৰিবলৈ সক্ষম হয়। সেই কাৰণেই এইটো compile time polymorphism নামৰ পৰিচিত।
10:09 সংক্ষেপে,
10:11 ইয়াতে আমি শিকিছো:

java ত Polymorphism কি? Run-time polymorphism Virtual Method Invocation আৰু Compile-time polymorphism.

10:23 অনুশীলনী হিসাবে, Vehicle আৰু Bike ক্লাসৰ বাবে আগৰ টিউটোৰিয়েলত ব্যবহাৰ কৰা মেথডক override কৰক।
10:32 নিম্ন লিঙ্কত উপলব্ধ ভিডিওটোৱে প্ৰকল্পক সাৰসংক্ষেপে বোঝায়। এইটো চাওক।
10:40 স্পোকেন টিউটোৰিয়েল প্ৰকল্প দলে কর্মশালাৰ আয়োজন কৰে আৰু অনলাইন পৰীক্ষা পাস কৰিলে প্ৰশংসাপত্ৰ দিয়া হয়। অধিক জানিবলৈ আমালৈ লিখক।
10:51 স্পোকেন টিউটোৰিয়েল প্ৰকল্প Talk to a Teacher প্ৰকল্পৰ অংশবিশেষ। এইটো ভাৰত সৰকাৰৰ NMEICT, MHRD দ্বাৰা সমর্থিত। এই বিষয়ত বিস্তাৰিত তথ্য এই লিঙ্কত প্ৰাপ্তিসাধ্য।
11:03 আই আই টী বোম্বেৰ পৰা মই মৌচুমি মেধী বিদায় লৈছো। অংশগ্ৰহনৰ বাবে ধন্যবাদ।

Contributors and Content Editors

Mousumi