Classes এবং Objects এর ধারণা
Classes এবং Objects হল অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর দুটি প্রধান ধারণা। OOP একটি প্রোগ্রামিং প্যারাডাইম যা কোডকে ক্লাস এবং অবজেক্টের মাধ্যমে সংগঠিত করে, যা কোডের পুনঃব্যবহারযোগ্যতা, মডুলারিটি, এবং রক্ষণাবেক্ষণ সহজ করে।
VB.Net একটি অবজেক্ট-ওরিয়েন্টেড ভাষা, তাই এতে ক্লাস এবং অবজেক্ট ব্যবহার করা খুবই সাধারণ। নিচে Classes এবং Objects এর বিস্তারিত আলোচনা করা হলো।
১. Classes (ক্লাস)
Class একটি নীলনকশা বা ব্লুপ্রিন্ট যা নির্ধারণ করে যে একটি অবজেক্ট কীভাবে আচরণ করবে এবং এর গুণাবলী কী হবে। ক্লাসে একটি অবজেক্টের প্রপার্টি (data) এবং মেথড (functions or procedures) থাকে। ক্লাস ডিফাইন করার মাধ্যমে আপনি নির্দিষ্ট ধরনের অবজেক্ট তৈরি করতে পারেন।
সিনট্যাক্স:
Class ClassName
' প্রপার্টি (Data)
Dim variableName As DataType
' মেথড (Function or Procedure)
Sub MethodName()
' Code here
End Sub
End Classক্লাসের উদাহরণ:
Class Car
' প্রপার্টি
Dim make As String
Dim model As String
Dim year As Integer
' কনস্ট্রাক্টর (Constructor)
Sub New(make As String, model As String, year As Integer)
Me.make = make
Me.model = model
Me.year = year
End Sub
' মেথড
Sub DisplayCarInfo()
Console.WriteLine("Car: " & make & " " & model & ", Year: " & year)
End Sub
End Classব্যাখ্যা:
- এখানে
Carনামক একটি ক্লাস তৈরি করা হয়েছে, যার মধ্যে তিনটি প্রপার্টি (make, model, year) এবং একটি মেথড (DisplayCarInfo) রয়েছে। Newকনস্ট্রাক্টর ব্যবহার করে অবজেক্টের প্রপার্টি ইনিশিয়ালাইজ করা হচ্ছে।
২. Objects (অবজেক্ট)
Object হল একটি ক্লাসের ইনস্ট্যান্স বা বাস্তব রূপ। যখন আপনি একটি ক্লাস ডিফাইন করেন, তখন আপনি সেই ক্লাসের একটি অবজেক্ট তৈরি করতে পারেন, যার মধ্যে সেই ক্লাসের সমস্ত গুণাবলী ও আচরণ থাকবে। অবজেক্টের মাধ্যমে ক্লাসের প্রপার্টি এবং মেথড অ্যাক্সেস করা যায়।
অবজেক্ট তৈরি এবং ব্যবহারের উদাহরণ:
Sub Main()
' অবজেক্ট তৈরি
Dim myCar As New Car("Toyota", "Camry", 2020)
' অবজেক্টের মেথড কল করা
myCar.DisplayCarInfo()
End Subব্যাখ্যা:
myCarহলCarক্লাসের একটি অবজেক্ট, যা"Toyota","Camry", এবং2020ইনিশিয়াল ভ্যালুগুলির মাধ্যমে তৈরি হয়েছে।myCar.DisplayCarInfo()কল করলে,Carক্লাসেরDisplayCarInfoমেথডটি এক্সিকিউট হবে এবং এর মাধ্যমে গাড়ির তথ্য কনসোলে প্রিন্ট হবে।
৩. Classes এবং Objects এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Classes | Objects |
|---|---|---|
| সংজ্ঞা | একটি ব্লুপ্রিন্ট বা নীলনকশা যা অবজেক্টের গুণাবলী এবং আচরণ নির্ধারণ করে। | একটি বাস্তব রূপ যা ক্লাসের মধ্যে সংজ্ঞায়িত গুণাবলী এবং আচরণ ধারণ করে। |
| প্রতিনিধিত্ব | ক্লাস একটি প্রোগ্রামিং কাঠামো (structure) যা অবজেক্টের বৈশিষ্ট্য এবং কার্য সম্পাদন করে। | অবজেক্ট ক্লাসের একক ইনস্ট্যান্স। এটি একটি বাস্তব বস্তু যা ক্লাসের সকল বৈশিষ্ট্য ধারণ করে। |
| উদাহরণ | Car ক্লাস একটি গাড়ির বৈশিষ্ট্য যেমন মডেল, রঙ, এবং গতি প্রোপার্টি সংজ্ঞায়িত করে। | myCar একটি Car ক্লাসের অবজেক্ট, যা নির্দিষ্ট একটি গাড়ি। |
| ব্যবহার | ক্লাসে প্রপার্টি এবং মেথড থাকে যেগুলি অবজেক্টের জন্য আচরণ নির্ধারণ করে। | অবজেক্টে সেই ক্লাসের প্রপার্টি এবং মেথডের মান থাকে এবং এগুলি ব্যবহার করা হয়। |
৪. Constructors (কনস্ট্রাক্টর)
ক্লাসের constructor হল একটি বিশেষ মেথড যা ক্লাসের অবজেক্ট তৈরি হওয়ার সময় স্বয়ংক্রিয়ভাবে কল হয়। কনস্ট্রাক্টরের মাধ্যমে অবজেক্টের প্রপার্টি ইনিশিয়ালাইজ করা হয়।
সিনট্যাক্স:
Class ClassName
Sub New()
' Initialization code here
End Sub
End Classকনস্ট্রাক্টরের উদাহরণ:
Class Car
Dim make As String
Dim model As String
Dim year As Integer
' কনস্ট্রাক্টর
Sub New(make As String, model As String, year As Integer)
Me.make = make
Me.model = model
Me.year = year
End Sub
End Classএখানে New কনস্ট্রাক্টর Car ক্লাসের অবজেক্ট তৈরি হওয়ার সময় এক্সিকিউট হয় এবং গাড়ির প্রপার্টি ইনিশিয়ালাইজ করা হয়।
৫. Encapsulation (এনক্যাপসুলেশন)
এনক্যাপসুলেশন একটি OOP প্যারাডাইম যা ডেটা (প্রপার্টি) এবং তার কার্যকলাপ (মেথড) একসাথে একটি ইউনিটে জড়িত রাখে। এটি ডেটা অ্যাক্সেস নিয়ন্ত্রণ করতে সহায়তা করে, যেমন প্রাইভেট প্রপার্টি এবং পাবলিক মেথডের মাধ্যমে।
উদাহরণ:
Class Person
Private name As String ' Private variable
' Public property
Public Property Name() As String
Get
Return name
End Get
Set(value As String)
name = value
End Set
End Property
End Classএখানে name প্রপার্টি private, কিন্তু এটি public property ব্যবহার করে অ্যাক্সেস করা যাচ্ছে।
সারাংশ
- Class হল একটি ব্লুপ্রিন্ট বা টেমপ্লেট যা অবজেক্ট তৈরি করতে ব্যবহৃত হয়, যেখানে প্রপার্টি এবং মেথড সংজ্ঞায়িত থাকে।
- Object হল ক্লাসের একটি ইনস্ট্যান্স, যা বাস্তব দুনিয়ায় কিছুর প্রতিনিধিত্ব করে এবং এতে ক্লাসের সমস্ত গুণাবলী এবং আচরণ থাকে।
- Constructor হলো একটি বিশেষ মেথড যা অবজেক্ট তৈরি হওয়ার সময় কল হয় এবং এটি প্রপার্টি ইনিশিয়ালাইজ করার জন্য ব্যবহৃত হয়।
- Encapsulation হল ডেটা এবং মেথডকে একত্রিত করা এবং ডেটার অ্যাক্সেস নিয়ন্ত্রণ করা।
এভাবে, ক্লাস এবং অবজেক্ট ব্যবহারের মাধ্যমে কোডের পুনঃব্যবহারযোগ্যতা, মডুলারিটি এবং রক্ষণাবেক্ষণ সহজ হয়।
Read more