বিসমিল্লাহির রাহমানির রাহিম
Java Programming Basic Structure
Class Control From Main Method Code:
javaclass AmarObject= new javaclass(); (এটি মেইন মেথডে লিখতে হবে , এবং সেই ক্লাসের নাম বসাতে হবে javaclass এর জায়গায় এবং অবজেক্ট এর নাম যা ইচ্ছে তাই দিতে পারেন ।
For Example
Class এর কোন কিছু কল করার কোড
mclass shafivariable= new mclass();
shafivariable.myfunction();
Function Parameter
INT + -
int a=10;
int b=30;
int c= a+b;
System.out.println(c);
-----------------
এবার প্যারামিটার ব্যবহার করবো ।
mclass objectvariable= new mclass();
objectvariable.myfunction(20 ,30 );
objectvariable.myfunction(50 ,30);
এটি থাকবে , মেইন মেথডেএ ।
এবং mclass নামে ক্লাস এই ভাবে সাজাতে হবে ।
নিচের অংশে , ২ টি প্যারামিটার একটি ইন্টিজার এ , আরেকটি বি ।
এটির মানে এ এর মান , অজানা । সে টা যে কোন কিছু হতে পারে । ফাংশনে , এইভাবে ডিক্লার করার প্রক্রিয়া কে প্যারামিটার বলে ।
public void myfunction(int a, int b) {
int c= a+b;
System.out.println(c);
}
Instance Variable
Instance Variable Basic Concept...
ইনস্ট্যান্ট ভেরিয়েবল ডিকলার করতে হয় ক্লাসের ভিতরে কিন্তু ফাংশনের বাহিরে
ফাংশনের বাহিরের কোন জিনিষ ফাংশনে কল করতে চাইলে তাহলে , অবশ্যই , this.(ভেরিয়েবল নাম) লিখতে হবে ।
যেমন
Class এ এটি থাকবে:
public int a=10;
public int b=12;
public int c;
ক্লাসের মেথডে এটি থাকবে ।
this.c=this.a+ this.b;
এবং প্রিন্ট করার জন্য
System.out.println(this.c);
ইনর্স্ট্যন্স ভেরিয়েবল থেকে , যদি , আমি নির্দিষ্ট িএকটা ভেরিয়েবল কে যদি কল করতে যাই তাহলে ,
এটি কল করতে হবে আমাদের মেইন মেথডে:
System.out.println(objectvariable.a);
Local Variable
Local Variable এ কোন প্রকার এক্সেস মোডিফায়ার থাকেনা । যেমন , public int a= 10 , এইখানে , Public থাকবেনা । Local Variable শুধু মাত্র , যেই মেথডে বা যেই ফাংশনে ডিক্লার হবে , সেখানেই কাজ করবে ।
যেমন Class এ থাকবে এমন
public void myfunction() {
int a=100;
int b=12;
int c;
c=a+b;
System.out.println(c);
এবং মেইন মেথডে , শুধু কল করলেই কাজ হবে
mclass objectvariable= new mclass();
objectvariable.myfunction();
েএবার নির্দিষ্ট ভাবে একটা লোকাল ভেরিয়েবল কে যদি আমরা মেইন মেথড দিয়ে কন্ট্রোল করতে চাই তাহলে আবার ইন্সট্যান্ট ভেরিয়েবল লাগবে । যেমন
Class File
public class mclass {
public int ins;
public void myfunction() {
int a=100;
this.ins=a;
int b=12;
int c;
c=a+b;
Main Method File:
public class Mpack {
public int a;
public static void main(String[] args) {
mclass objectvariable= new mclass();
objectvariable.myfunction();
System.out.println(objectvariable.ins);
Local Variables Basic Concepts:
Static Variable And Static Method
Static Variable>>
Static Variable নিয়ে কাজ করতে গেলে কোন প্রকার অবজেক্ট ব্যবহার করার প্রয়োজন নেই ।
Static Variable করতে গেলে আমাদের যা করতে হবে তা হল ,
Class File
public class mclass {
public static int a=10;
public int b=12;
public int c;
public void myfunction() {
this.c=this.a+ this.b;
System.out.println(this.c);
}
Mail Method:
public class Mpack {
public int a;
public static void main(String[] args) {
System.out.println(mclass.a);
}
Static Function>>
Static Function এর সুবিধা হল , এটিকে কল করার জন্য আলাদা অবজেক্ট এর প্রয়োজন নেই ।
Class Code:
public class mclass {
public static void myfunction() {
int a=10;
int b=20;
int c;
c=a+b;
System.out.println(c);
Main Method Code:
public class Mpack {
public static void main(String[] args) {
mclass.myfunction();
Inheritance
এখানে , Super Class এর উত্তরাধিকার সুত্রে পায় হলো Sub Class
এখানে দুইটা ক্লাস লাগবে একটা সুপার ক্লাস আরেকটি সাব ক্লাস
যেমন
Main Method Code:
public class Mpack {
public static void main(String[] args) {
Son SonObj =new Son();
SonObj.add();
Super Class (Father) Code:
public class Father {
public int a=10;
public int b=20;
public int c;
public void add() {
this.c=this.a+this.b;
System.out.println(this.c);
}
Sub Class SON code:
public class Son extends Father {
}
Method Overloading..
মেথড অভারলোডিং হলো যদি Super Class এ , একই নামে মেথড আবার Sub Class একই নামে মেথড থাকে আর দুইটা মেথডের কনটেন্ট যদি ভিন্নরকম থাকে তাহলে Sub Class টাই Program .
উপরের সব কোড ই সেইম থাকবে । তবে কিছু পরিবর্তন ।
Sub Class Code:
public class Son extends Father {
public void add() {
this.c=this.a+this.b;
System.out.println(this.c);
}
Super Class Code:
public class Father {
public int a=10;
public int b=20;
public int c;
public void add() {
this.c=this.a+this.b;
System.out.println(this.c);
}
}
সংখ্যা পরিবর্তনের প্যারামিটার করে মেথড অভার লোডিং
এবার দেখি ডাটাটাইপ চেন্জ করে , মেথড অভারলোডিং
Constructure
যখন কোন Class এর নামে , New Keyword এর পরে যদি আমরা কোন মেথড তৈরি করবো ফাস্ট ব্রাকেট দিয়ে তখন তাকে বলা হয় Constructure Method .
যেমন
My Obj = new My(); এখানে , My(); হলো কন্সট্রাক্টর মেথড ।
Contructure মেথড এটি নরমাল মেথড এর মত নয় এখানে রিটার্ন টাইপ থাকেনা ।
যখন আমরা কোন Constructure Method এর মদ্ধ্যে , প্যারামিটার ঢুকাবো না তখন তাকে বলব Default Constructure Method
Normal Method এর নাম কক্ষনোও ক্লাসের নাম অনুসারে হয় না , আর Constructure Method এর নাম ক্লাসের নামে হয় ।
এবার দেখবো আমরা প্যারামিটার ব্যবহার করে Constructure
এবার দেখবো আমরা Constructure Method Overlaoding..
Interface In java
Interface Class এর মদ্ধ্যে একটি মেথড থাকবে তবে তার Body Part থাকবেনা । কোন একটি Interface কে যদি Class দ্বারা Implement করতে চাই তাহলে অবশ্যই Interface এর মদ্ধ্যে , যেই মেথড আছে তা অবশ্যই , Override করতে হবে । আবার যখন Method কে Override করতে তখন কিন্তু বডি থাকবে ।
Inteface তৈরির কারণ হলো প্রোগ্রামে কি কি মেথড থাকতেছে তার একটি সংক্ষিপ্ত কপি রেখে দেওয়ার জন্য ।
যেমন নিচের অংশটি দেখুন:
Interface এর মদ্ধ্যে , Method Override করে কাজ করা হয় যেভাবে .,
Abstract Class In Java
Abstract Class হল , এমন একটি ক্লাস , যার কোন অস্তিত্ব আউটপুটে আসবেনা । এটি বিমুর্ত ।
এটিকে অস্তিত্বশীল করতে গেলে , ইনহেরিটেন্স এর মত করে নতুন ক্লাসের সাহায্য নিতে হবে ।
যেমন:-
Abstruct Class:
Abstract Method এর কোন Body Part থাকেনা । Abstract Method এর যেই ক্লাসে থাকবে , সেই ক্লাস কেও থাকতে হবে Abstract Class
Abstract Method:
Access Modifier In Java
1. Private Access Modifier
এটি , আমরা যেখানে ব্যবহার করবো তখন , সেটি ঐ ক্লাস , ঐ মেথড এর ভিতরেই কাজ করবে অন্য কোথাও কাজ করবেনা ।
2. Default Access Modifier
কোন কিছু ডিক্লার না করলে সেটি ডিফল্ট এক্সেস মোডিফায়াার
3. Protected Access Modifier
এই পদ্ধতিতে , ঐ প্যাকেজের ভিতরেই ব্যবহার করতে পারবো । ভিন্ন প্যাকেজেও ব্যবহার করা যাবে যদি ইনহ্যারিটেন্স ওয়েই ব্যবহার করা হয় ।
4. Public Access Modifier
এটি সব জায়গাতেই ব্যবহার করা যায় । প্যাকেজের বাহিরে ভিতরে , ক্লাসের বাহিরে ভিতরে সবজায়গাতেই ব্যবহার হয় ।
Public Access Modifier Example:
Protected Access Modifier এর কাজ হলো , একই প্যাকেজে ভিন্ন , ক্লাসে কাজ করা সম্ভব কিন্তু ঐ ক্লাস কেই আবার আলাদা প্যাকেজে কল করলে সেটা সম্ভব নয় কারণ ,
Protected Access Modifier Example:
Default Access Modifier এ কোন কিছু ডিক্লার করতে হয় না । এটা একই প্যাকেজে ব্যবহার করা যায় কিন্তু ,ভিন্ন প্যাকেজে ব্যবহার করা যায় না ।
Private Access Modifier এর মাদ্ধ্যমে , একই ক্লাসে কল করা যাবে কিন্তু ঐ ক্লাসের প্যাকেজে অন্য কোন ক্লাসে কল করতে পারবেন না , আর অন্য প্যাকেজে ব্যবহার করা তো স্বপ্নের ব্যাপার ।
Private Access Modifier Example:
Setter And Getter Method
গেটার মেথডের মাদ্ধ্যমে প্রাইভেট এক্সেস মোডিফায়ারের এক্সেস কে অন্য ক্লাসেও বা বাহিরে ব্যবহার করা যায় । বিস্তারিত দেখুন :
Example , Getter Method:
Setter Method Example:
Encapsulation In Java
এটি হল এমন একটি জিনিষ যা অনেকগুলো ডাটা কে বাইন্ড করে রাখে ক্যাপসুল এর মত ভেরিয়েবল এবং মেথড থাকে সেখানে ।
Multitasking In Java
জাভা একই সাথে মাল্টি টাস্কিং করতে পারেনা । জাভা কে ৩ টি কাজ দিলে েএকটি একটি করে ৩ টি কাজ করবে । কিন্তু একই সাথে ৩ টি কাজ করবেনা ।
আর যদি , করতে চাই তাহলে আমাদের Thread Class ব্যবহার করতে পারি । তাহলে একই সাথে একাধিক কাজ রানিং করা যায় ।
Thread Class দুইভাবে ব্যবহার করা যায় । একভাবে হল , ইনহেরিটেন্স এর মাদ্ধ্যমে আরেকটি হল ইন্টারফেস এর মাদ্ধ্যমে ।
আর এটি একটি টাস্ক এর প্রসেস বন্ধ হলে আরেকটি টাস্ক এ সেটি প্রভাব ফেলেনা ।
Single Tasking Example:
Multitasking Example:
Interface ব্যবহার করে , মাল্টিটাস্কিং ।
একই কাজই অন্যভাবে করতে পারেন ....
0 Comments