ওভাররাইডিং ও ওভারলোডিংয়ের মধ্যে পার্থক্য

Anonim

ওভার লোডিং ওভারলোডিং

পদ্ধতি ওভাররাইডিং এবং ওভারলোডিং পদ্ধতি পদ্ধতিগত কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ / প্রযুক্তি / বৈশিষ্ট্য পাওয়া যায়। উভয় ধারণা প্রোগ্রামার একই নামের পদ্ধতির জন্য বিভিন্ন বাস্তবায়ন প্রদান করতে অনুমতি দেয়। মেথড ওভাররাইডিং প্রোগ্রামারকে একটি উপ বর্গের মধ্যে একটি বৈকল্পিক বাস্তবায়ন করার অনুমতি দেয় যা তার সুপার ক্লাসের মধ্যে ইতিমধ্যেই নির্ধারিত পদ্ধতিতে ব্যবহৃত হয়। মেথড ওভারলোডিং প্রোগ্রামারকে একই নামের একাধিক পদ্ধতিতে (একই শ্রেণীতে) বিভিন্ন কার্যকারিতা প্রদান করতে দেয়।

ওভাররাইডিং কি?

উপরে উল্লিখিত হিসাবে, একটি বর্গ বস্তু ভিত্তিক প্রোগ্রামিং ভাষাগুলিতে একটি সুপার ক্লাস বা প্যারেন্ট ক্লাস প্রসারিত করতে পারে। একটি বাচ্চা শ্রেণীর নিজস্ব পদ্ধতি থাকতে পারে বা ঐচ্ছিকভাবে তার পিতা বা মাতা শ্রেণীতে (বা তার কোনও গ্র্যান্ড পিতা বা মাতা শ্রেণীতে) বর্ণিত পদ্ধতিতে তার নিজের প্রয়োগগুলি রয়েছে। সুতরাং যখন পরবর্তীটি ঘটবে, এটি পদ্ধতিটি ওভাররাইড করা হয়। অন্য কথায়, যদি শিশু শ্রেণি একই স্বাক্ষর এবং পদ্ধতিতে পুনর্সূচনা পদ্ধতিতে তার মূল শ্রেণির একটি পদ্ধতিতে একটি পদ্ধতিতে একটি বাস্তবায়ন প্রদান করে, তবে সেই পদ্ধতিটি শিশু শ্রেণীর বাস্তবায়ন দ্বারা (প্রতিস্থাপিত) বলে মনে করা হয়। । সুতরাং, যদি একটি শ্রেণীতে একটি অতিরঞ্জিত পদ্ধতি থাকে তবে রানটাইম সিস্টেমটি সিদ্ধান্ত নেবে যে কোন পদ্ধতি বাস্তবায়নের জন্য ব্যবহার করা হয়। এই সমস্যাটি একত্রিত করার জন্য ব্যবহৃত বস্তুর সঠিক প্রকারের দিকে লক্ষ্য করে সমাধান করা হয়েছে। ঊর্ধ্বমুখী পদ্ধতিতে আভ্যন্তরীণ পদ্ধতি ব্যবহার করার জন্য মূল শ্রেণীর একটি বস্তু ব্যবহার করা হয়, তাহলে মূল শ্রেণীতে প্রয়োগ করা হয়। একইভাবে, এটি যদি ব্যবহার করা হয় এমন শিশু শ্রেণীর একটি বস্তু, তাহলে শিশু শ্রেণীর প্রয়োগ বাস্তবায়নে ব্যবহৃত হয়। আধুনিক প্রোগ্রামিং ভাষা জাভা, ইফেল, সি ++ এবং পাইথন পদ্ধতির উপর নির্ভর করে।

--২ ->

ওভারলোডিং কি?

পদ্ধতি ওভারলোডিং হল এমন একটি বৈশিষ্ট্য যা কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ একই নামে একাধিক পদ্ধতি তৈরি করে দেয়, তবে বিভিন্ন ইনপুট এবং আউটপুট প্রকারের সাথে। আধুনিক প্রোগ্রামিং ভাষায় জাভা, সি #, সি ++ এবং ভিবি। নেট, এই বৈশিষ্ট্যটি পাওয়া যায়। আপনি একই পদ্ধতিতে আরেকটি পদ্ধতি তৈরি করে একটি পদ্ধতি লোড করতে পারেন তবে একটি ভিন্ন পদ্ধতি স্বাক্ষর বা একটি ভিন্ন রিটার্ন টাইপ (বা উভয়) দিয়ে। উদাহরণস্বরূপ, যদি আপনি একই শ্রেণীতে method1 (type1 t1) এবং method1 (type2 t2) পেয়ে থাকেন, তাহলে তারা ওভারলোড হবে। তারপর যখন সিস্টেমটি বলা হয় তখন কোনটি কার্যকর হবে তা নির্ধারণ করতে সিস্টেমটি অবশ্যই বিচার করতে হবে। এই পার্থক্য পদ্ধতিতে গৃহীত প্যারামিটার (গুলি) প্রকারের দিকে তাকিয়ে করা হয়। যদি যুক্তি 1 টাইপের হয়, তাহলে প্রথম প্রয়োগটি বলা হয়, যদি এটি টাইপ ২ এর হয়, তাহলে দ্বিতীয় প্রয়োগটি বলা হয়।

ওভাররাইডিং এবং ওভারলোডিং এর মধ্যে পার্থক্য কি?

যদিও, পদ্ধতিটি ওভাররাইডিং এবং পদ্ধতি ওভারলোডিং বিভিন্ন প্রয়োগের সাথে একটি পদ্ধতি প্রদান করতে ব্যবহৃত হয়, তবে এই দুটি ধারণা / কৌশলগুলির মধ্যে পার্থক্য রয়েছে। সর্বোপরি, সর্বদা পদ্ধতির অগ্রগতির বিষয়গুলি বিভিন্ন শ্রেণীতে থাকে, যখন ওভারলোডিংয়ের বিষয়গুলি একই শ্রেণীর ভিতরে থাকে। এর অর্থ বোঝা যায় যে বস্তু ভিত্তিক প্রোগ্রামিং ভাষাগুলিতে উত্তরাধিকারসূত্রে কেবলমাত্র সম্ভব হয়, যখন ওভারলোডিং অ অজানা-ভিত্তিক ভাষাতেও পাওয়া যায়। অন্য কথায়, আপনি সুপার ক্লাসে একটি পদ্ধতিকে অগ্রাহ্য করেন কিন্তু আপনি নিজের শ্রেণীতে একটি পদ্ধতি লোড করেন।

আরেকটি পার্থক্য হল যে ওভাররাইড পদ্ধতিতে একই পদ্ধতির নাম, পদ্ধতি স্বাক্ষর এবং রিটার্ন টাইপ থাকে, তবে স্বাক্ষর বা রিটার্ন টাইপ (নাম একই হওয়া উচিত) এভারলোডেড পদ্ধতিগুলি অবশ্যই পৃথক হবে। দুই অপেক্ষাকৃত পদ্ধতির মধ্যে পার্থক্য করার জন্য, সঠিক আইডিতে ব্যবহৃত আইডি ব্যবহার করার জন্য ব্যবহৃত বস্তুর ধরন, তবে দুটি ওভারলোডেড পদ্ধতির মধ্যে পার্থক্য করার জন্য পরামিতির ধরনগুলি ব্যবহার করা হয়। আরেকটি প্রধান পার্থক্য হলো, কম্পাইলের সময় ওভারলোডিং সমাধান করা হয়, যখন রান-টাইমে ওভাররাইড সমাধান করা হয়