স্ট্যাটিক এবং ডায়নামিক বাইন্ডিংয়ের মধ্যে পার্থক্য

লেখক: Laura McKinney
সৃষ্টির তারিখ: 1 এপ্রিল 2021
আপডেটের তারিখ: 1 জুলাই 2024
Anonim
C++ Programming Language - OOP - Class 12 Computer Science WBCHSE in Bengali
ভিডিও: C++ Programming Language - OOP - Class 12 Computer Science WBCHSE in Bengali

কন্টেন্ট


একটি ‘ফাংশন সংজ্ঞা’ বা ‘ভেরিয়েবল’ এর সাথে একটি ‘মান’ সংঘের ‘ফাংশন সংজ্ঞা’ বাধনের সংযোগকে ‘বাইন্ডিং’ বলে। সংকলনের সময়, প্রতিটি ‘ফাংশন সংজ্ঞা’ একটি মেমরি ঠিকানা দেওয়া হয়; ফাংশন কলিংয়ের সাথে সাথে প্রোগ্রাম প্রয়োগের নিয়ন্ত্রণ সেই মেমরি ঠিকানায় চলে যায় এবং সেই স্থানে ফাংশন কোডটি সঞ্চারিত করে, এটি ‘ফাংশন সংজ্ঞা’ এর ‘ফাংশন কল’ এর বাইন্ডিং। বাইন্ডিংকে ‘স্ট্যাটিক বাইন্ডিং’ এবং ‘ডায়নামিক বাইন্ডিং’ হিসাবে শ্রেণীবদ্ধ করা যেতে পারে।

রানটাইমের আগে যদি এটি ইতিমধ্যে জানা থাকে তবে কোন ফাংশনটি চালু করা হবে বা কোনও ভেরিয়েবলের জন্য কোন মান বরাদ্দ করা হয়, তবে এটি 'স্ট্যাটিক বাইন্ডিং'। এটি রানটাইমের সময় জানতে পারলে এটিকে বলা হয় ‘ডায়নামিক বাইন্ডিং’।

  1. তুলনা রেখাচিত্র
  2. সংজ্ঞা
  3. মূল পার্থক্য
  4. উপসংহার

তুলনা রেখাচিত্র:

তুলনার জন্য ভিত্তিস্ট্যাটিক বাইন্ডিংগতিশীল বাঁধাই
ইভেন্ট ঘটনাসংকলনের সময়ে ঘটে যাওয়া ইভেন্টগুলি হ'ল "স্ট্যাটিক বাইন্ডিং"।
রান সময়ে ঘটে যাওয়া ইভেন্টগুলি হ'ল "ডাইনামিক বাইন্ডিং"।
তথ্যএকটি ফাংশন কল করার জন্য প্রয়োজনীয় সমস্ত তথ্য সংকলন সময়ে জানা যায়।সমস্ত তথ্য একটি ফাংশন কল প্রয়োজন রান সময় জানতে আসা।
সুবিধাদক্ষতা.নমনীয়তা.
সময়দ্রুত কার্যকর করা।ধীরে ধীরে কার্যকর করা।
বিকল্প নামআর্লি বাইন্ডিংদেরীতে বাঁধাই।
উদাহরণঅতিরিক্ত লোড ফাংশন কল, ওভারলোডেড অপারেটর।সি ++ তে ভার্চুয়াল ফাংশন, জাভাতে ওভাররাইড পদ্ধতিগুলি।

স্ট্যাটিক বাইন্ডিং এর সংজ্ঞা

সংকলক যখন কোনও সংকলনের সময় কোনও ফাংশন বা ভেরিয়েবলের সমস্ত মানকে কল করতে প্রয়োজনীয় সমস্ত তথ্য স্বীকার করে, তখন এটিকে “স্ট্যাটিক বাঁধাই"। যেহেতু প্রয়োজনীয় সমস্ত তথ্য রানটাইমের আগে জানা যায়, এটি প্রোগ্রামের দক্ষতা বৃদ্ধি করে এবং এটি একটি প্রোগ্রামের সম্পাদনের গতিও বৃদ্ধি করে।


স্ট্যাটিক বাইন্ডিং একটি প্রোগ্রামকে খুব দক্ষ করে তোলে, তবে প্রোগ্রামটির নমনীয়তা "ভেরিয়েবলের মান" এবং "ফাংশন কলিং" হিসাবে পূর্বনির্ধারিত হিসাবে এটি প্রোগ্রামটির নমনীয়তাটিকে অস্বীকার করে। কোডিংয়ের সময় স্ট্যাটিক বাইন্ডিং একটি প্রোগ্রামে প্রয়োগ করা হয়।

কোনও ফাংশন বা অপারেটরকে ওভারলোডিং সংকলন-কাল পলিমারফিজমের উদাহরণ, অর্থাৎ স্ট্যাটিক বাইন্ডিং।

ওভারলোডিংয়ের উদাহরণ সহ সি ++ এ স্ট্যাটিক বন্ডিং বাস্তবায়ন

# অন্তর্ভুক্ত নেমস্পেস স্ট্যান্ড ব্যবহার করে; বর্গ ওভারলোড {int a, b; সর্বজনীন: int লোড (int x) {// প্রথম লোড () ফাংশন। একটি = এক্স; cout << "x এর মান" <funct (); // উপরোক্ত বিবৃতিটি সিদ্ধান্ত নিয়েছে যে কোন শ্রেণীর ক্রিয়াকলাপটি শুরু করা হবে। পি = & D1; // পয়েন্টার পরিবর্তনের ভ্যালু। p-> funct (); // উপরোক্ত বিবৃতিটি সিদ্ধান্ত নিয়েছে যে কোন শ্রেণীর ক্রিয়াকলাপটি শুরু করা হবে। পি = & D2; // পয়েন্টার পরিবর্তন আবার। p-> funct (); // উপরোক্ত বিবৃতিটি সিদ্ধান্ত নিয়েছে যে কোন শ্রেণীর ক্রিয়াকলাপটি শুরু করা হবে। প্রত্যাবর্তন 0; }

প্রোগ্রামটি কার্যকর হওয়ার সাথে সাথে পয়েন্টারের মান পরিবর্তন হয় এবং পয়েন্টারের মান সিদ্ধান্ত নেয় যে কোন শ্রেণির ক্রিয়াটি চালিত হবে। সুতরাং এখানে, চালানোর সময় তথ্য সরবরাহ করা হয়, এটি ডেটা বাঁধতে সময় নেয় যা কার্যকরকরণকে ধীর করে দেয়।


  1. সংকলনের সময়ে ঘটে যাওয়া ইভেন্টগুলি যেমন একটি ফাংশন কোড একটি ফাংশন কল বা ভেরিয়েবলের মান নির্ধারণের সাথে সম্পর্কিত হয়, তাকে স্ট্যাটিক / আর্লি বাইন্ডিং বলে। বিপরীতে, রানটাইম চলাকালীন যখন এই কাজগুলি সম্পন্ন হয় তখন এগুলিকে ডায়নামিক / লেট বাইন্ডিং বলে।
  2. স্থিতিশীল বাইন্ডিংয়ে ‘দক্ষতা’ বৃদ্ধি পায়, কারণ কার্যকর হওয়ার আগে সমস্ত ডেটা সংগ্রহ করা হয়। তবে ডায়নামিক বাইন্ডিংয়ে ডেটা রানটাইমে অর্জিত হয় যাতে কোন ভেরিয়েবল নির্ধারণ করা উচিত এবং রানটাইমের সময় কোন ফাংশনটি প্রয়োগ করা যায় এটি কার্যকর করতে "নমনীয়" করে তোলে তা আমরা সিদ্ধান্ত নিতে পারি।
  3. ‘স্ট্যাটিক বাইন্ডিং’ কোনও প্রোগ্রামের সম্পাদনকে ‘দ্রুত’ করে তোলে কারণ একটি প্রোগ্রাম কার্যকর করার জন্য প্রয়োজনীয় সমস্ত ডেটা মৃত্যুদন্ড কার্যকর হওয়ার আগেই জানা ছিল। কোনও প্রোগ্রাম কার্যকর করতে প্রয়োজনীয় ‘ডায়নামিক বাইন্ডিং’ ডেটা কার্যকর করার সময় সংকলকটির কাছে জানা থাকে যা সনাক্তকারীদের কাছে মানগুলি আবদ্ধ করতে সময় নেয়; সুতরাং, এটি প্রোগ্রামের প্রয়োগকে ধীর করে তোলে।
  4. স্ট্যাটিক বাইন্ডিংটিকে প্রারম্ভিক বাঁধন বলা হয় কারণ ফাংশন কোডটি সংকলনের সময় ফাংশন কলের সাথে সম্পর্কিত যা ডায়নামিক বাইন্ডিংয়ের আগে যা ফাংশন কোডটি রানটাইম চলাকালীন ফাংশন কলের সাথে যুক্ত ছিল তাই এটি দেরী বাঁধনও বলা হয়।

উপসংহার:

যাইহোক, আমরা এই সিদ্ধান্তে পৌঁছেছি যে যখন আমাদের ভেরিয়েবল এবং ফাংশন কলিংয়ের মানগুলির পূর্ব জ্ঞান থাকে, আমরা স্থির বাইন্ডিং প্রয়োগ করি। বিপরীতভাবে, গতিশীল বাঁধাইয়ের ক্ষেত্রে, আমরা কার্যকর করার সময় সমস্ত তথ্য সরবরাহ করি।