Java/C3/Using-final-keyword/Bengali
From Script | Spoken-Tutorial
Revision as of 15:06, 21 November 2017 by Kaushik Datta (Talk | contribs)
Time | Narration |
00:01 | Using final keyword এর টিউটোরিয়ালে আপনাদের স্বাগত। |
00:05 | এখানে final কীওয়ার্ড এবং এটি কখন শুরু করতে হয় সেই সম্পর্কে শিখব। |
00:11 | আমরা final variables, final methods, final classes সম্পর্কেও শিখব। |
00:18 | টিউটোরিয়ালটি রেকর্ড করতে ব্যবহার করছি: উবুন্টু লিনাক্স সংস্করণ 12.04, JDK 1.7, Eclipse 4.3.1 |
00:30 | টিউটোরিয়ালটি অনুসরণ করতে Java এবং Eclipse IDE এর মৌলিক জ্ঞান থাকতে হবে। |
00:36 | Subclassing এবং Method overriding সম্পর্কেও জ্ঞান থাকতে হবে। |
00:41 | না হলে, প্রাসঙ্গিক Java টিউটোরিয়ালগুলির জন্য, আমাদের ওয়েবসাইটে যান। |
00:46 | প্রথমে আমরা শিখব যে final কীওয়ার্ড কি। |
00:50 | final জাভাতে keyword বা সংরক্ষিত শব্দ। |
00:55 | এটি variables, methods বা classes এ প্রয়োগ করা যেতে পারে। |
01:01 | এখন, শিখি যে final ভ্যারিয়েবল কি। |
01:05 | final variable একটি ভ্যারিয়েবল যার ভ্যালু বদলানো যাবে না। এটি constant হবে। |
01:13 | এখন Eclipse IDE তে যাচ্ছি। আমি ইতিমধ্যে আগের টিউটোরিয়ালে MyProject নামে প্রজেক্ট বানিয়েছি। |
01:22 | তাই আমরা সরাসরি Employee class এ যাবো। |
01:26 | ভ্যারিয়েবল name এ আসুন। |
01:30 | ভ্যারিয়েবল নামের আগে final কীওয়ার্ড জুড়ুন। আমরা ভ্যারিয়েবল নেম final রেখেছি। |
01:40 | আমরা ভ্যারিয়েবল sneha সহ ভ্যারিয়েবল নাম শুরু করব। |
01:45 | আমরা প্রোগ্রামটি সংরক্ষণ করে রান করব। |
01:48 | কম্পাইলেশন এরর পাই: The final field Employee.name cannot be assigned |
01:55 | এর কারণ হল এখানে final ভ্যারিয়েবলের নাম ইতিমধ্যে ঘোষিত করা হয়েছে এবং ইনিসিয়েলাইজ রয়েছে। |
02:05 | final ভ্যারিয়েবল শুধুমাত্র একবার ইনিসিয়েলাইজ করতে পারি। |
02:08 | আমরা setName মেথড কমেন্ট করব যা name ভ্যারিয়েবল সংশোধিত করে। |
02:14 | Class সংরক্ষণ করুন। |
02:16 | এখন TestEmployee ক্লাসে আসুন। |
02:19 | main মেথডে যান এবং manager.setName("Nikkita Dinesh") লাইন কমেন্ট করুন। |
02:26 | এই লাইনটি কমেন্ট করেছি কারণ এটি setName মেথডের উদাহরণ। |
02:31 | আমরা ইতিমধ্যে Employee ক্লাসে setName মেথড কমেন্ট করেছি। |
02:35 | এখন ক্লাস সংরক্ষণ করে প্রোগ্রামটি রান করুন। |
02:38 | আমরা এই আউটপুট পেয়েছি: Name: Sneha Email: abc@gmail.com Manager of: Accounts |
02:47 | আমরা এই আউটপুট পেয়েছি কারণ আমরা ইতিমধ্যে TestEmployee এবং Employee class এ এই ভ্যালু সহ ভ্যারিয়েবল ইনিসিয়েলাইজ করেছি। |
02:58 | Employee ক্লাসে final variable name এ আসুন। |
03:02 | final variable name এর ইনিসিয়েলাইজেশন সরান। অর্থাৎ sneha সরান। |
03:08 | setName মেথড আনকমেন্ট করুন। |
03:12 | প্রোগ্রামটি সংরক্ষণ করে রান করুন। |
03:14 | আমরা এরর পাই: The final field Employee.name cannot be assigned |
03:20 | এর কারণ, final ভ্যারিয়েবল ইনিসিয়েলাইজ না হলে, শুধুমাত্র constructor এটি ইনিশিয়ালাইজ করতে পারে। |
03:28 | এটি প্রোগ্রামে অন্য কোথাও সংশোধন করা যাবে না। |
03:33 | তাই, Employee ক্লাসে constructor বানান। আমরা আগে শিখেছি যে constructor কি। |
03:43 | আমরা জানি যে constructor নাম ক্লাসের নামের সমান। |
03:47 | তাই লিখব: Employee, প্রথম বন্ধনী, ওপেন এবং ক্লোস কোঁকড়া বন্ধনী, কোঁকড়া বন্ধনীতে name ভ্যারিয়েবলে ভ্যালু sneha সহ ইনিসিয়েলাইজ করুন, সেমিকোলন। |
04:08 | method setName কমেন্ট করুন। |
04:12 | প্রোগ্রাম সংরক্ষণ করে রান করুন। |
04:15 | আমরা পছন্দসই আউটপুট পাই। |
04:17 | final সফলভাবে constructor এ ইনিসিয়েলাইজ হয়েছে। |
04:22 | এখন final static variables সম্পর্কে শিখব। |
04:26 | Employee ক্লাসে final ভ্যারিয়েবলে আসুন। |
04:30 | final কীওওয়ার্ডের আগে static কীওয়ার্ড জুড়ুন। আমরা final variable static বানিয়েছি। |
04:38 | প্রোগ্রাম সংরক্ষণ করে রান করুন। |
04:40 | আমরা এরর পাই: The final field Employee.name cannot be assigned |
04:46 | এর কারণ হল static final variables, constructor এ ইনিসিয়েলাইজ হয় না। |
04:53 | তাদের তার ঘোষণার সাথে একটি ভ্যালু নির্ধারণ করা উচিত বা static block এ ঘোষণা করা আবশ্যক। |
05:01 | Static ভ্যারিয়েবল class এর সকল অবজেক্টের সাথে মধ্যে ভাগ করা হয়। |
05:06 | একটি নতুন object বানালে static variable বদলে দেবে। static variable, final হলে এর অনুমতি নেই। |
05:14 | Eclipse IDE তে ফিরে যান। |
05:17 | এখন আমরা static block বানাবো। |
05:20 | তাই Employee ক্লাসে constructor এ যান, যা আমরা বানিয়েছি। |
05:26 | এখানে, Employee বন্ধনীর বদলে, static লিখব। আমরা একটি static block বানিয়েছি। |
05:35 | এখন প্রোগ্রাম সংরক্ষণ করে রান করব। |
05:38 | আমরা পছন্দসই আউটপুট পেয়েছি। আমরা সফলভাবে static final ভ্যারিয়েবল ইনিসিয়েলাইজ করেছি। |
05:46 | এখন method এর জন্য প্যারামিটার হিসাবে final ব্যবহার করি। |
05:52 | Employee ক্লাসে, setEmail মেথডে আসুন। |
05:55 | String newEmail এর আগে final কীওয়ার্ড জুড়ুন। আমরা final রূপে প্যারামিটার জুড়েছি। |
06:03 | প্রোগ্রাম সংরক্ষণ করে রান করুন। |
06:06 | আমরা পছন্দসই আউটপুট পাই। |
06:09 | এখন, setEmail মেথডে যান। মেথডে লিখুন: newEmail is equal to abc@gmail.com semicolon |
06:28 | আমরা final ভ্যারিয়েবল newEmail সংশোধন করেছি। |
06:32 | আবার প্রোগ্রাম সংরক্ষণ করে রান করব। |
06:35 | আমরা এরর পাই: The final local variable newEmail cannot be assigned. |
06:42 | এর কারণ হল method এর জন্য প্যারামিটার হিসাবে final ভ্যারিয়েবল সেই method দ্বারা সংশোধন হয় না। |
06:50 | তাই ভ্যারিয়েবল সংশোধন সরিয়ে দিন। |
06:54 | এখন final মেথড সম্পর্কে শিখব। employee ক্লাসে method getDetails এ যান। |
07:01 | method getDetails এর আগে final কীওয়ার্ড জুড়ুন। final হিসাবে মেথড বানিয়েছি। |
07:08 | প্রোগ্রাম সংরক্ষণ করে রান করুন। |
07:10 | আমরা এরর পাই: class Manager overrides final method getDetails(). |
07:16 | Manager ক্লাসে method getDetails() এ যান। |
07:21 | এর কারণ, আপনি final হিসাবে method বানালে এটি override করতে পারেন না। |
07:29 | Manager class method getDetails, Employee ক্লাসে getDetails মেথড override করে। |
07:36 | final মেথড private হলে কি হবে? |
07:39 | Private মেথড child ক্লাস দ্বারা ইনহেরিট নয়। |
07:43 | তাই child ক্লাসে getDetails() মেথড জুড়তে পারি। অনুশীলনী হিসাবে এটি চেষ্টা করতে পারেন। |
07:51 | Eclipse IDE তে ফিরে আসুন। |
07:54 | Employee ক্লাসে getDetails মেথডের আগে final কীওয়ার্ড সরান। |
08:03 | Final ভ্যারিয়েবল নামের আগে static কীওয়ার্ড সরান। |
08:10 | এখন শিখব constructor, final হিসেবে ঘোষিত করতে পারি কি না। |
08:15 | এরজন্য আবার constructor বানাবো। তাই static এর বদলে লিখব: Employee বন্ধনী |
08:26 | Constructor এর আগে final কীওয়ার্ড জুড়ুন। |
08:31 | প্রোগ্রাম সংরক্ষণ করে রান করুন। |
08:36 | আমরা এরর পাই: Illegal modifier for the constructor in type Employee. |
08:42 | কারণ constructor, final হতে পারে না যতক্ষণ constructors ইনহেরিট না হয়। |
08:50 | আমরা constructor এর আগে final কীওয়ার্ড সরিয়ে দেবো। |
08:54 | আমরা final ক্লাস সম্পর্কে শিখব। |
08:57 | এটিকে final বানাতে Employee ক্লাসের আগে final কীওয়ার্ড জুড়ুন। |
09:03 | প্রোগ্রাম সংরক্ষণ করে রান করুন। |
09:06 | আমরা এরর পাই: The method setEmail is undefined for the type Manager. |
09:12 | প্রকৃত এরর জানতে TestEmployee ক্লাসে যান এবং এটি কমেন্ট করুন। |
09:21 | manager.setEmail("abc@gmail.com"); manager.setDepartment("Accounts"); |
09:28 | ক্লাস সংরক্ষণ করে প্রোগ্রাম রান করুন। |
09:31 | প্রকৃত এরর হল: The type manager cannot subclass the final class Employee. |
09:40 | এখানে, Manager ক্লাস Employee ক্লাস প্রসারিত করে। |
09:45 | Employee ক্লাসে ফিরে আসি এবং final কীওয়ার্ড সরান। ক্লাস সংরক্ষণ করুন। |
09:54 | TestEmployee ক্লাসে আসুন। লাইন আনকমেন্ট করুন manager.setEmail("abc@gmail.com"); manager.setDepartment("Accounts"); |
10:06 | ক্লাস সংরক্ষণ করে প্রোগ্রাম রান করুন। |
10:09 | আমরা কাঙ্ক্ষিত আউটপুট পেয়েছি। |
10:12 | সংক্ষেপে, এখানে আমরা শিখেছি: final কীওয়ার্ড invoke করা, final ভ্যারিয়েবল, final মেথডস এবং final ক্লাস কি। |
10:27 | অনুশীলনী হিসাবে, Bike এবং Vehicle ক্লাসের জন্য Using final keyword টিউটোরিয়ালের ধাপগুলি পুনরাবৃত্তি করুন, যা আগের টিউটোরিয়ালে ব্যবহার করেছি। |
10:37 | জাভাতে classes লিখুন যা final ক্লাস। |
10:41 | নিম্ন লিঙ্কে উপলব্ধ ভিডিওটি দেখুন। এটি প্রকল্পকে সারসংক্ষেপে বোঝায়। |
10:47 | স্পোকেন টিউটোরিয়াল প্রকল্প দল কর্মশালার আয়োজন করে এবং অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেওয়া হয়। অধিক জানতে আমাদের লিখুন। |
10:56 | স্পোকেন টিউটোরিয়াল প্রকল্প Talk to a Teacher প্রকল্পের অংশবিশেষ। এটি ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত। এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে প্রাপ্তিসাধ্য।
আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। |