Functions এবং Subroutines এর পার্থক্য
Functions এবং Subroutines (বা Subs) দুটি গুরুত্বপূর্ণ ধারণা VB.Net প্রোগ্রামিং ভাষায়, যা কোডের পুনঃব্যবহারযোগ্যতা এবং মডুলারিটি নিশ্চিত করতে ব্যবহৃত হয়। যদিও উভয়ই একটি নির্দিষ্ট কাজ সম্পাদন করতে ব্যবহৃত হয়, তাদের মধ্যে কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে। নিচে তাদের পার্থক্যগুলো বিস্তারিতভাবে আলোচনা করা হলো:
১. Return Value (ফাংশন রিটার্ন ভ্যালু)
Function:
- Function একটি ব্লক কোড যা কোনো মান ফেরত দেয় (Return Value)। এর মাধ্যমে আপনি একটি মান গ্রহণ করতে পারেন এবং সেই মানটি প্রোগ্রামের অন্য জায়গায় ব্যবহার করতে পারবেন।
- Return কিওয়ার্ড ব্যবহার করে একটি মান ফেরত দেওয়া হয়।
Function AddNumbers(a As Integer, b As Integer) As Integer
Return a + b
End Functionব্যাখ্যা:
- এখানে
AddNumbersএকটি Function, যা দুটি পূর্ণসংখ্যা গ্রহণ করে এবং তাদের যোগফল ফেরত দেয়।
Subroutine (Sub):
- Subroutine কোনো মান ফেরত দেয় না। এটি শুধুমাত্র কোনো কার্য সম্পাদন করে এবং কেবলমাত্র কোডের কার্যক্রম সম্পন্ন করে, কোন ফলাফল বা মান ফেরত দেয় না।
Sub DisplayMessage(message As String)
Console.WriteLine(message)
End Subব্যাখ্যা:
- এখানে
DisplayMessageএকটি Subroutine, যা একটি স্ট্রিং প্যারামিটার নেয় এবং শুধুমাত্র তাকে কনসোলে প্রদর্শন করে, কিন্তু কোন মান ফেরত দেয় না।
২. Return Keyword (রিটার্ন কিওয়ার্ড)
Function:
- Return কিওয়ার্ড ব্যবহার করে ফাংশন একটি মান ফেরত দেয়। ফাংশনের শেষের দিকে বা কোথাও এই কিওয়ার্ডটি ব্যবহার করা হয়।
Function Multiply(a As Integer, b As Integer) As Integer
Return a * b
End FunctionSubroutine (Sub):
- Subroutine-এ Return কিওয়ার্ড ব্যবহার করা যায় না। এটি শুধুমাত্র কার্য সম্পাদন করে এবং কোন মান ফেরত দেয় না। তবে, Exit Sub ব্যবহার করা যেতে পারে, যা সাবরুটিনটি তৎক্ষণাৎ শেষ করে দেয়।
Sub ExitProcess()
' Some code
Exit Sub ' Exits the Subroutine
End Sub৩. Usage (ব্যবহার)
Function:
- Function-কে আপনি যে জায়গায় প্রয়োজনে ব্যবহার করবেন, সেখানেই মান ফেরত নিতে পারেন। এটি অন্য কোডের সাথে জটিল এক্সপ্রেশন তৈরিতে ব্যবহৃত হতে পারে।
Dim result As Integer
result = AddNumbers(5, 10) ' Function callSubroutine (Sub):
- Subroutine সাধারণত কার্য সম্পাদনের জন্য কল করা হয়, যেমন কোনো অপারেশন সম্পাদন বা ইউজার ইন্টারফেস আপডেট করা। এটি সাধারণত একটি এক্সপ্রেশন বা মান ফেরত দিতে ব্যবহৃত হয় না।
DisplayMessage("Hello, World!") ' Subroutine call৪. Types of Operations (অপারেশনের ধরণ)
Function:
- ফাংশন সাধারণত কোনো গাণিতিক বা লজিক্যাল হিসাব, ডেটা প্রক্রিয়াকরণ ইত্যাদি কাজের জন্য ব্যবহৃত হয়। এটি কোনো মান প্রক্রিয়াকরণ করে এবং রিটার্ন করে।
Subroutine (Sub):
- সাবরুটিন মূলত কোনো কার্য সম্পাদন বা একাধিক স্টেটমেন্টের ব্লক তৈরি করতে ব্যবহৃত হয়, যেমন ডেটা প্রদর্শন করা, ফাইল অপারেশন করা, বা ইভেন্ট হ্যান্ডলিং করা।
৫. Parameters (প্যারামিটার)
Function:
- ফাংশন প্যারামিটার গ্রহণ করতে পারে এবং সেই প্যারামিটারগুলির উপর কাজ করে একটি মান ফেরত দেয়।
Function CalculateDiscount(price As Double, discount As Double) As Double
Return price - (price * discount)
End FunctionSubroutine (Sub):
- সাবরুটিনও প্যারামিটার গ্রহণ করতে পারে, তবে এটি সাধারণত কোনো মান ফেরত দেয় না, এটি কেবল কোনো কার্য সম্পাদন করে।
Sub DisplayPrice(price As Double)
Console.WriteLine("Price: " & price)
End Sub৬. Return Type (ফাংশন রিটার্ন টাইপ)
Function:
- Function-এর একটি নির্দিষ্ট Return Type থাকে, যেমন
Integer,String,Double, ইত্যাদি।
Function GetSquare(number As Integer) As Integer
Return number * number
End FunctionSubroutine (Sub):
- Subroutine-এর কোনো Return Type থাকে না। এটি শুধুমাত্র কার্য সম্পাদন করে এবং কিছু ফিরিয়ে দেয় না।
Sub PrintSquare(number As Integer)
Console.WriteLine(number * number)
End Subসারাংশ
| বৈশিষ্ট্য | Function | Subroutine (Sub) |
|---|---|---|
| Return Value | হ্যাঁ, মান ফেরত দেয় | না, মান ফেরত দেয় না |
| Return Keyword | ব্যবহৃত হয় (Return) | ব্যবহৃত হয় না (Exit Sub ব্যবহার করা হয়) |
| Usage | অন্যান্য কোডে মান ফেরত গ্রহণ করা যায় | শুধুমাত্র কার্য সম্পাদনের জন্য ব্যবহৃত হয় |
| Types of Operations | গাণিতিক, লজিক্যাল হিসাব | ডেটা প্রদর্শন, ফাইল অপারেশন, ইউজার ইন্টারফেস |
| Parameters | প্যারামিটার গ্রহণ এবং মান ফেরত | প্যারামিটার গ্রহণ এবং কার্য সম্পাদন |
| Return Type | নির্দিষ্ট Return Type থাকে | Return Type থাকে না |
ফাংশন এমন একটি কোড ব্লক যা নির্দিষ্ট ইনপুট প্যারামিটার নিয়ে একটি মান ফেরত দেয়, যখন সাবরুটিন একটি কোড ব্লক যা কিছু কার্য সম্পাদন করে কিন্তু কোন মান ফেরত দেয় না।
Content added By
Read more