Java/C3/Using-final-keyword/Bengali

From Script | Spoken-Tutorial
Jump to: navigation, search
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 দ্বারা সমর্থিত। এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে প্রাপ্তিসাধ্য।

আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি।

Contributors and Content Editors

Kaushik Datta, Satarupadutta