https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/Bengali&feed=atom&action=history
Java/C3/Polymorphism/Bengali - Revision history
2024-03-29T02:22:17Z
Revision history for this page on the wiki
MediaWiki 1.23.17
https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/Bengali&diff=40917&oldid=prev
Kaushik Datta at 05:20, 22 November 2017
2017-11-22T05:20:52Z
<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 05:20, 22 November 2017</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 144:</td>
<td colspan="2" class="diff-lineno">Line 144:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>| 03:46</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>| 03:46</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>|লিখুন: Employee emp1 = new Employee <del class="diffchange diffchange-inline">open and close parenthesis semicolon</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>|লিখুন: Employee emp1 = new Employee <ins class="diffchange diffchange-inline">ওপেন এবং ক্লোস প্রথম বন্ধনী সেমিকোলন </ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 162:</td>
<td colspan="2" class="diff-lineno">Line 162:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>| Employee ক্লাসের জন্য Manager অবজেক্ট emp2 দেখাই।</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>| Employee ক্লাসের জন্য Manager অবজেক্ট emp2 দেখাই।</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>লিখুন: Employee emp2 = new Manager <del class="diffchange diffchange-inline">open and close parenthesis </del>সেমিকোলন।</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>লিখুন: Employee emp2 = new Manager <ins class="diffchange diffchange-inline">ওপেন এবং ক্লোস প্রথম বন্ধনী </ins>সেমিকোলন।</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>|-</div></td></tr>
</table>
Kaushik Datta
https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/Bengali&diff=40814&oldid=prev
Satarupadutta: Created page with " {| Border=1 | '''Time''' | '''Narration''' |- | 00:01 | Java তে Polymorphism এর টিউটোরিয়ালে আপনাদের স্বাগত। |-..."
2017-11-16T15:32:52Z
<p>Created page with " {| Border=1 | '''Time''' | '''Narration''' |- | 00:01 | Java তে Polymorphism এর টিউটোরিয়ালে আপনাদের স্বাগত। |-..."</p>
<p><b>New page</b></p><div><br />
{| Border=1<br />
| '''Time'''<br />
| '''Narration'''<br />
<br />
|-<br />
| 00:01<br />
| Java তে Polymorphism এর টিউটোরিয়ালে আপনাদের স্বাগত।<br />
<br />
|-<br />
| 00:06<br />
| এখানে আমরা শিখব:<br />
<br />
Java তে Polymorphism<br />
<br />
Run-time polymorphism<br />
<br />
Virtual Method Invocation এবং<br />
<br />
Compile-time polymorphism.<br />
<br />
|-<br />
| 00:19<br />
| এখানে ব্যবহার করছি: উবুন্টু লিনাক্স সংস্করণ 12.04 JDK সংস্করণ 1.7 এবং Eclipse 4.3.1<br />
|-<br />
| 00:31<br />
| টিউটোরিয়ালটি অনুসরণ করতে Java এবং Eclipse IDE এর মৌলিক জ্ঞান থাকতে হবে।<br />
<br />
|-<br />
| 00:37<br />
| Subclassing, Method overriding এবং overloading সম্পর্কে জ্ঞান থাকতে হবে।<br />
<br />
|-<br />
| 00:43<br />
| না হলে, প্রাসঙ্গিক Java টিউটোরিয়ালগুলির জন্য, আমাদের ওয়েবসাইটে যান।<br />
<br />
|-<br />
| 00:48<br />
| Polymorphism একটি অবজেক্টের বিভিন্ন রূপ নেওয়ার ক্ষমতা রাখে।<br />
<br />
|-<br />
| 00:54<br />
| Polymorphism এর প্রধান সুবিধা হল: Reduction of complexity এবং Code re-usability.<br />
<br />
|-<br />
| 01:03<br />
| জাভাতে দুটি ধরনের polymorphism রয়েছে: Compile-time এবং Run-time polymorphism.<br />
<br />
|-<br />
| 01:11<br />
| Compile-time polymorphism মূলত Method overloading হিসাবে পরিচিত। এটিকে Static Bindingও বলে।<br />
<br />
|-<br />
| 01:20<br />
| Run-time polymorphism মূলত Method overriding হিসাবে পরিচিত। এটিকে Dynamic Binding ও বলে।<br />
<br />
|-<br />
| 01:29<br />
| আমরা ইতিমধ্যে Run-time polymorphism অর্থাৎ Method overriding সম্পর্কে শিখেছি।<br />
<br />
|-<br />
| 01:35<br />
| Eclipse IDE তে যাই। আমি ইতিমধ্যে পূর্বের টিউটোরিয়ালে MyProject নামে প্রজেক্ট বানিয়েছি।<br />
<br />
|-<br />
| 01:44<br />
| Using final keyword টিউটোরিয়ালের কোড ফাইল নেই।<br />
<br />
|-<br />
| 01:49<br />
| Employee ক্লাস হল parent ক্লাস।<br />
<br />
|-<br />
| 01:52<br />
| Manager ক্লাস হল subclass.<br />
<br />
|-<br />
| 01:55<br />
| Manager ক্লাসে একটি অতিরিক্ত ভ্যারিয়েবল department রয়েছে।<br />
<br />
|-<br />
| 02:01<br />
| Manager ক্লাস মেথড getDetails(), Employee ক্লাস মেথড getDetails() কে override করে।<br />
<br />
|-<br />
| 02:08<br />
| আমরা Manager ক্লাস অবজেক্ট দ্বারা getDetails () মেথড কল করছি অর্থাৎ Manager.<br />
<br />
|-<br />
| 02:16<br />
| বিবরণ প্রিন্ট করতে লিখুন: system.out.println Details of Manager Class.<br />
<br />
|-<br />
| 02:28<br />
| প্রোগ্রাম সংরক্ষণ করে রান করুন। আমরা আউটপুটে department ভ্যারিয়েবল ভ্যালু দেখি।<br />
<br />
|-<br />
| 02:37<br />
|তাই subclass মেথডকে runtime এ প্রয়োগ করা হয়।<br />
<br />
|-<br />
| 02:42<br />
| মেথড invocation JVM দ্বারা নির্ধারণ করা হয়, কম্পাইলার দ্বারা নয়।<br />
<br />
|-<br />
| 02:48<br />
|তাই এটি Runtime polymorphism বা method overriding হিসাবে পরিচিত।<br />
<br />
|-<br />
| 02:55<br />
| আমরা Run time polymorphism শিখেছি।<br />
<br />
|-<br />
| 02:58<br />
| এখন Virtual Method Invocation শিখি।<br />
|-<br />
| 03:03<br />
| Eclipse IDE তে Employee ক্লাসে আসুন।<br />
<br />
|-<br />
| 03:07<br />
| ভ্যারিয়েবল name এর জন্য static এবং final কীওয়ার্ড সরান।<br />
<br />
|-<br />
| 03:13<br />
| মেথড setName আনকমেন্ট করুন।<br />
<br />
|-<br />
| 03:16<br />
| static ব্লক সরান। ফাইলটি সংরক্ষণ করুন।<br />
<br />
|-<br />
| 03:21<br />
| TestEmployee ক্লাসে আসুন। ভ্যালু manager.setName(“Nikkita Dinesh”); আনকমেন্ট করুন।<br />
<br />
|-<br />
| 03:31<br />
|এই উদাহরণ আনকমেন্ট করি কারণ Employee ক্লাসে setName () মেথড আনকমেন্ট করেছি।<br />
<br />
|-<br />
| 03:38<br />
| এখন, Employee ক্লাসের জন্য Employee অবজেক্ট emp1 দেখাই।<br />
<br />
|-<br />
| 03:46<br />
|লিখুন: Employee emp1 = new Employee open and close parenthesis semicolon<br />
<br />
|-<br />
| 03:57<br />
| এখন Employee ক্লাসে জন্য setEmail এবং setName এর জন্য ভ্যালু ইনিসিয়েলাইজ করুন।<br />
<br />
|-<br />
| 04:03<br />
|লিখুন: emp1.setName("Jayesh"); emp1.setEmail("pqr@gmail.com");<br />
<br />
|-<br />
| 04:16<br />
| employee বিবরণ প্রিন্ট করতে লিখুন: System.out.println("Details of Employee class:" emp1.getDetails()) সেমিকোলন।<br />
<br />
|-<br />
| 04:37<br />
| Employee ক্লাসের জন্য Manager অবজেক্ট emp2 দেখাই।<br />
<br />
লিখুন: Employee emp2 = new Manager open and close parenthesis সেমিকোলন।<br />
<br />
|-<br />
| 04:54<br />
| আমরা এটি করতে সক্ষম কারণ যে কোনো Java object যা একাধিক IS-A টেস্ট পাস করে হল polymorphic.<br />
<br />
|-<br />
| 05:04<br />
|জাভাতে সকল অবজেক্ট হল polymorphic, কারণ যে কোনো অবজেক্ট IS-A টেস্ট তাদের নিজস্ব ধরন এবং ক্লাস অবজেক্টের জন্য পাস করবে।<br />
<br />
|-<br />
| 05:16<br />
|A Manager IS-A Employee<br />
<br />
A Manager IS-A Manager<br />
<br />
A Manager IS-A Object.<br />
<br />
|-<br />
| 05:23<br />
| reference variable দ্বারা কোনো অবজেক্ট পর্যন্ত পৌঁছনোর শুধুমাত্র একটি সম্ভাব্য উপায় রয়েছে। <br />
<br />
|-<br />
| 05:29<br />
|Reference variables যেমন emp1, emp2 এবং manager.<br />
<br />
|-<br />
| 05:36 <br />
|এখানে দুটি Manager অবজেক্টের দেখাই:<br />
<br />
প্রথমটি যা Employee ক্লাস উল্লেখ করে এবং দ্বিতীয়টি যা Manager ক্লাস উল্লেখ করে।<br />
<br />
|-<br />
| 05:47<br />
| emp2 অবজেক্ট দ্বারা setEmail, setName এবং setDepartment এর জন্য ভ্যালু ইনিসিয়েলাইজ করি।<br />
<br />
|-<br />
| 05:55<br />
|লিখুন:<br />
<br />
emp2.setName("Ankita");<br />
<br />
emp2.setEmail(“xyz@gmail.com”);<br />
<br />
emp2.setDepartment(“IT”);<br />
<br />
|-<br />
| 06:14<br />
| আমরা একটি এরর দেখি, The method setDepartment(String) is undefined for the type Employee.<br />
<br />
|-<br />
| 06:23<br />
| কারণ setDepartment মেথড Employee এর জন্য বিদ্যমান নেই।<br />
<br />
|-<br />
| 06:30<br />
| এখন emp2.setDepartment("IT"); সরিয়ে দিন<br />
<br />
|-<br />
| 06:37<br />
| বিবরণ প্রিন্ট করতে লিখুন: System.out.println("Details of Manager class:" emp2.getDetails()) সেমিকোলন।<br />
<br />
|-<br />
| 06:55<br />
| প্রোগ্রামটি সংরক্ষণ করে রান করুন।<br />
<br />
|-<br />
| 06:58<br />
| এখানে আউটপুটে, আমরা Manager of: ফাঁকা পাই।<br />
<br />
|-<br />
| 07:04<br />
|কারণ, আমরা emp2 দ্বারা Manager ক্লাসে department ইনিসিয়েলাইজ করিনি।<br />
<br />
|-<br />
| 07:12<br />
| ডেমোর উদ্দেশ্যে, ডিফল্ট department হল IT.<br />
<br />
|-<br />
| 07:17<br />
|Manager ক্লাসে যান এবং department এর জন্য ভ্যালু ইনিসিয়েলাইজ করুন।<br />
<br />
|-<br />
| 07:25<br />
| প্রোগ্রামটি সংরক্ষণ করে রান করুন।<br />
<br />
|-<br />
| 07:28<br />
| আউটপুট হল Employee অবজেক্ট Employee ক্লাস উল্লেখ করে।<br />
<br />
|-<br />
| 07:34<br />
|Manager অবজেক্ট Employee ক্লাস এবং Manager অবজেক্ট Manager ক্লাস<br />
<br />
|-<br />
| 07:42<br />
| এখানে দেখি যে Manager ক্লাসের getDetails() মেথড emp2 দ্বারা কল হয়। <br />
<br />
|-<br />
| 07:49<br />
| কিন্তু emp2, setDepartment কল করার চেষ্টা করলে একটি এরর পাই।<br />
<br />
|-<br />
| 07:54<br />
| এর কারণ নিম্নরূপ:<br />
<br />
কম্পাইলার emp2.getDetails() এর সময় Employee ক্লাসে getDetails () মেথড দেখে।<br />
<br />
|-<br />
| 08:05<br />
|এটি কোনো এরর দেয় না এবং কোডটি যাচাই করে। <br />
<br />
|-<br />
| 08:10<br />
|run time এ যদিও Manager ক্লাসে JVM, getDetails () লাগু করে কারণ Manager ক্লাসের getDetails (), Employee ক্লাসের getDetails () override করে।<br />
<br />
|-<br />
| 08:24<br />
|আমরা Manager ক্লাসের getDetails() অনুযায়ী আউটপুট পাই। কিন্তু কম্পাইলার Employee ক্লাসে setDepartment মেথড দেখে না।<br />
<br />
|-<br />
| 08:36<br />
|তাই, emp2 কল করলে setDepartment একটি এরর দেয়।<br />
<br />
|-<br />
| 08:43<br />
| Employee মেথড getDetails(), Employee ক্লাসের জন্য লাগু হয়।<br />
<br />
|-<br />
| 08:49<br />
|কম্পাইলার emp1.getDetails() এর সময় getDetails () এর জন্য Employee ক্লাস উল্লেখ করে।<br />
<br />
|-<br />
| 08:57<br />
|রান টাইমে JVM, Employee ক্লাসে getDetails () লাগু করে। আমরা Employee ক্লাসের getDetails () অনুযায়ী আউটপুট পাই।<br />
<br />
|-<br />
| 09:08<br />
|তাই JVM, object এর জন্য উপযুক্ত মেথড কল করে যা প্রতিটি ভ্যারিয়েবলে নির্দিষ্ট করা হয়।<br />
<br />
|-<br />
| 09:16<br />
|এই ব্যবহার Virtual Method Invocation রূপে উল্লেখ করা হয়।<br />
<br />
|-<br />
| 09:21<br />
|মেথড Virtual Methods হিসাবে উল্লিখিত।<br />
<br />
|-<br />
| 09:26<br />
| জাভাতে সকল মেথড এই উপায়ে আচরণ করে।<br />
<br />
|-<br />
| 09:31<br />
| আমরা সফলভাবে শিখেছি যে Virtual Method Invocation কি।<br />
<br />
|-<br />
| 09:36<br />
| আমরা ইতিমধ্যে Compile-time polymorphism অর্থাৎ method overloading সম্পর্কে শিখেছি।<br />
<br />
|-<br />
| 09:42<br />
|সংক্ষেপে দেখি যে Compile time polymorphism কি।<br />
<br />
|-<br />
| 09:47<br />
|Compile time polymorphism এ, ক্লাসে একাধিক মেথড থাকতে পারে।<br />
<br />
|-<br />
| 09:53<br />
| মেথডের একই নাম হয় কিন্তু বিভিন্ন আর্গুমেন্ট সহ।<br />
<br />
|-<br />
| 09:59<br />
|কম্পাইলার কম্পাইল-টাইমে মেথড কল করতে সক্ষম। এটি কারণ যে এটি compile time polymorphism নামে পরিচিত।<br />
<br />
|-<br />
| 10:09<br />
| সংক্ষেপে,<br />
<br />
|-<br />
| 10:11<br />
| এখানে আমরা শিখেছি:<br />
<br />
Java তে Polymorphism কি? Run-time polymorphism Virtual Method Invocation এবং Compile-time polymorphism.<br />
<br />
|-<br />
| 10:23<br />
| অনুশীলনী হিসাবে, Vehicle এবং Bike ক্লাসের জন্য আগের টিউটোরিয়ালে ব্যবহার করা মেথড override করুন।<br />
<br />
|-<br />
| 10:32<br />
| নিম্ন লিঙ্কে উপলব্ধ ভিডিওটি প্রকল্পকে সারসংক্ষেপে বোঝায়। এটি দেখুন।<br />
<br />
|-<br />
| 10:40<br />
| স্পোকেন টিউটোরিয়াল প্রকল্প দল কর্মশালার আয়োজন করে এবং অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেওয়া হয়। অধিক জানতে আমাদের লিখুন।<br />
|-<br />
| 10:51<br />
| স্পোকেন টিউটোরিয়াল প্রকল্প Talk to a Teacher প্রকল্পের অংশবিশেষ। এটি ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত। এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে প্রাপ্তিসাধ্য।<br />
<br />
|-<br />
| 11:03<br />
| আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। অংশগ্রহনের জন্যে ধন্যবাদ।<br />
<br />
|}</div>
Satarupadutta