Java/C3/Subclassing-and-Method-Overriding/Bengali

From Script | Spoken-Tutorial
Jump to: navigation, search
Time
Narration
00:01 Subclassing and Method overriding এর টিউটোরিয়াল আপনাদের স্বাগত।
00:06 এখানে আমরা শিখব: subclassing , extends কীওয়ার্ড এবং method overriding.
00:15 এখানে ব্যবহার করছি: উবুন্টু লিনাক্স সংস্করণ 12.04, JDK 1.7, Eclipse 4.3.1.
00:25 টিউটোরিয়ালটি অনুসরণ করতে, Java এবং Eclipse IDE এর মৌলিক জ্ঞান থাকতে হবে।
00:32 না হলে, প্রাসঙ্গিক Java টিউটোরিয়ালের জন্য, আমাদের ওয়েবসাইটে যান।
00:37 প্রথমে আমরা শিখব যে subclassing কি।
00:41 এটি একটি বিদ্যমান class থেকে নতুন class বানানোর উপায়।
00:46 নতুন নির্মিত ক্লাস হল subclass বা derived class বা child class.
00:53 ইতিমধ্যে বিদ্যমান ক্লাসকে superclass বা base class বা parent class বলে।
01:00 এখন, আপনাকে subclass বানানো দেখাই। আমি ইতিমধ্যে MyProject নামে একটি প্রকল্প বানিয়েছি।
01:10 আমি এতে Employee নামে একটি ক্লাস বানিয়েছি।
01:15 এতে variable, name এবং email_address রয়েছে।
01:19 এতে ক্লাসের জন্য setter এবং getter মেথডও রয়েছে।
01:24 এতে getDetails() মেথড রয়েছে। এই মেথড name এবং email_address রিটার্ন করে।
01:31 এখন, Manager ক্লাসে যাই।
01:35 এতে variable, name, email_address এবং department রয়েছে।
01:40 আমরা দেখি যে কিছু ভ্যারিয়েবল Employee এবং Manager class উভয়ের জন্য একই।
01:47 name এবং email_address, Employee ক্লাসে রয়েছে। আমরা দেখি যে এটি Manager ক্লাসেও রয়েছে।
01:57 এইভাবে, Manager ক্লাসকে Employee ক্লাসের subclass বানানো যায়।
02:03 এরজন্য, Manager ক্লাসে কিছু পরিবর্তন করতে হবে।
02:08 public class Manager এর পর, লিখুন: extends Employee
02:14 আমরা বিদ্যমান ক্লাস থেকে subclass বানাতে extends কীওয়ার্ড ব্যবহার করি।
02:21 উভয় ক্লাসের অনুরূপ ডুপ্লিকেট ভ্যারিয়েবল সরান।
02:26 Manager ক্লাস থেকে name এবং email_address সরান।
02:32 এছাড়া setter এবং getter মেথডও মুছে ফেলুন।
02:37 Manager ক্লাসে, কেবল একটি department ভ্যারিয়েবল থাকবে।
02:43 আমাদের department এর জন্য setter এবং getter মেথডও রয়েছে।
02:59 এইভাবে, Manager ক্লাস Employee ক্লাসের সদস্যদের ইনহেরিট করে।
02:55 একটি ক্লাসকে অন্য ক্লাসে বিস্তার করার এই পদ্ধতিকে single inheritance বলে।
03:02 আমি TestEmployee নামে আরেকটি ক্লাস বানিয়েছি।
03:08 Main মেথডে, আমরা Manager ক্লাসের object বানাবো।
03:14 তাই, main মেথডে লিখুন : Manager manager equal to new Manager প্রথম বন্ধনী।
03:23 আমরা Manager ক্লাসের setter মেথড কল করব।
03:28 লিখুন, manager dot setName বন্ধনীতে এবং ডবল উদ্ধৃতিতে Nikkita Dinesh
03:38 তারপর লিখুন: manager dot setEmail বন্ধনীতে এবং ডাবল উদ্ধৃতিতে abc at gmail dot com.
03:49 তারপর লিখুন, manager dot setDepartment বন্ধনীতে এবং ডাবল উদ্ধৃতিতে Accounts.
03:57 আপনি যে কোনো name, email address এবং department ব্যবহার করতে পারেন।
04:02 এখন, Manager অবজেক্ট দ্বারা getDetails() মেথড কল করি।
04:08 তাই লিখুন: System.out.println বন্ধনীতে manager dot getDetails.
04:17 এখন, প্রোগ্রামটি সংরক্ষণ করে রান করি।
04:21 আমরা দেখি যে আমরা আউটপুটটি পেয়েছি: Name: Nikkita Dinesh Email: abc@gmail.com
04:30 এখানে Manager ক্লাসের অবজেক্ট getDetails () মেথড কল করে।
04:36 এখন, Manager ক্লাসে আসুন।
04:39 আমরা দেখি যে এখানে getDetails() মেথড নেই।
04:43 কিন্তু তবুও আমরা আউটপুট পেয়েছি। এর কারণ হল, Manager ক্লাস Employee ক্লাস প্রসারিত করে।
04:52 Manager ক্লাস স্বয়ংক্রিয়ভাবে Employee ক্লাসের ভ্যারিয়েবল্স এবং মেথডস বানায়।
04:59 এটি parent ক্লাস যাচাই করে যা হল Employee.
05:04 Employee ক্লাসে ফিরে আসি। এটি এখানে getDetails() মেথড পায়।
05:11 আমরা department রিটার্ন করিনি। ফলস্বরূপ, এটি আউটপুটে department প্রিন্ট করে না।
05:20 getDetails মেথড private এ বদলাই। ফাইলটি সংরক্ষণ করুন।
05:27 আমরা দেখি যে আমরা TestEmployee ক্লাসে একটি সংকলন এরর পেয়েছি।
05:34 এটি দেখায় যে The method getDetails() from the type Employee is not visible.
05:40 এর মানে getDetails () মেথড ব্যবহার করা যাবে না।
05:45 এর কারণ হল আমরা getDetails () মেথড private করেছি।
05:52 subclass এর superclass এর private সদস্য ইনহেরিট করে না।
05:58 Subclass superclass এর private সদস্যদের সরাসরি অ্যাক্সেস করতে পারে না।
06:04 superclass public বা protected মেথড হতে পারে।
06:09 এই মেথড তাদের private ফীল্ড অ্যাক্সেস করতে পারে।
06:13 subclass এই মেথড দ্বারা private ফীল্ডও অ্যাক্সেস করতে পারে।
06:18 তাই এটিকে আবার public এ বদলাই।
06:21 এখন, Manager ক্লাসে getDetails মেথড অন্তর্ভুক্ত করি।
06:27 এই মেথড name, email_address এবং department রিটার্ন করবে।
06:33 তাই লিখুন: public String getDetails প্রথম বন্ধনী।
06:39 মেথডে লিখুন: return বন্ধনীতে Name প্লাস getName() প্লাস slash n প্লাস Email plus getEmail() প্লাস slash n প্লাস Manager of প্লাস getDepartment() সেমিকোলন। ফাইলটি সংরক্ষণ করুন।
07:07 লক্ষ্য করুন, এখন getDetails মেথড Manager এবং Employee উভয় ক্লাসে রয়েছে।
07:15 মেথডের name, return type এবং argument list উভয় ক্লাসে একই।
07:22 subclass এ মেথড parent ক্লাসে মেথডকে override করতে বলে যদি:

name, return type, argument list একেবারে মেলে।

07:33 Manager ক্লাসে ফিরে আসুন।
07:36 getDetails () মেথডের আগে লিখুন: @Override
07:43 এটি override annotation. এটি নির্দেশ করে মেথড superclass এ মেথড override করতে অভিপ্রেত করা হয়েছে।
07:53 এখন, দেখি যে annotation কি।
07:57 Annotations: at (@) চিহ্ন দিয়ে শুরু হয়, প্রোগ্রাম সম্পর্কে ডেটা প্রদান করে, কোডের অপারেশনে কোনো সরাসরি প্রভাব নেই।
08:10 মেথড @Override সহ annotate হলে, কম্পাইলার এরর উৎপন্ন করে যদি: superclass এ ঘোষিত মেথড override না করে।
08:23 method signature তার superclass এ ভিন্ন।
08:28 এখন, IDE তে ফিরে আসি। Manager ক্লাসে ফিরে আসুন।
08:34 at (@) চিহ্ন ক্যারেক্টার কম্পাইলারকে ইঙ্গিত করে যে annotation এর পর কি হয়।
08:42 এখানে, এটি দেখায় যে getDetails() মেথড overridden রয়েছে।
08:48 TestEmployee ক্লাসে ফিরে আসুন।
08:51 ফাইলটি সংরক্ষণ করে প্রোগ্রামটি রান করুন।
08:55 আমরা নিম্ন আউটপুট পাই: Name: Nikkita Dinesh, Email: abc@gmail.com, Manager of Accounts
09:05 এখানে, Manager ক্লাসের অবজেক্ট getDetails () মেথড কল করে।
09:11 কিন্তু এই সময়, এটি নিজে Manager ক্লাসের মেথড কল করছে।
09:16 এইভাবে, আমরা subclass দ্বারা parent ক্লাসের মেথড override করি।
09:23 সংক্ষেপে, এখানে আমরা শিখেছি: Subclassing এবং Method Overriding.
09:31 অনুশীলনী হিসাবে, Vehicle ক্লাস বানান যাতে run মেথড হোক, যা The Vehicle is running প্রিন্ট করে।
09:40 একটি Bike ক্লাসও বানান, যাতে run মেথড হোক যা The Bike is running safely প্রিন্ট করে।
09:48 আউটপুট The Bike is running safely হওয়া উচিত।
09:52 স্পোকেন টিউটোরিয়াল প্রকল্প সম্পর্কে অধিক জানতে, এই লিঙ্কে উপলব্ধ ভিডিওটি দেখুন। এটি প্রকল্পকে সারসংক্ষেপে বোঝায়। ভাল ব্যান্ডউইডথ না থাকলে আপনি ভিডিওটি ডাউনলোড করে দেখতে পারেন।
10:06 স্পোকেন টিউটোরিয়াল প্রকল্প দল কর্মশালার আয়োজন করে। অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেওয়া হয়। এই বিষয়ে বিস্তারিত তথ্যের জন্য contact@spoken-tutorial.org তে ইমেল করুন।
10:21 স্পোকেন টিউটোরিয়াল Talk to a Teacher প্রকল্পের অংশবিশেষ। এটি ভারত সরকারের ICT, MHRD এর জাতীয় শিক্ষা মিশন দ্বারা সমর্থিত। এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে প্রাপ্তিসাধ্য,

http://spoken-tutorial.org/NMEICT-Intro

10:42 আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। অংশগ্রহনের জন্যে ধন্যবাদ।

Contributors and Content Editors

Satarupadutta