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



এই নিবন্ধটি সুপার কীওয়ার্ড এবং বিভিন্ন বিধি সহ বিভিন্ন উদাহরণ সহ জাভা পদ্ধতিতে ওভারলোডিং এবং ওভাররাইডের মধ্যে মূল পার্থক্যগুলি কভার করে।

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

জাভাতে মেথড ওভারলোডিং কী?

মেথড ওভারলোডিং পদ্ধতিটিকে একই নাম রাখতে দেয় যা তর্ক বা যুক্তির ধরণের ভিত্তিতে পৃথক হয়। এটি সংকলন-কাল পলিমারফিজমের সাথে সম্পর্কিত হতে পারে। জাভাতে ওভারলোডিংয়ের পদ্ধতিগুলি অনুসরণ করার সময় আমাদের কয়েকটি মাথায় রাখতে হবে।





  • আমরা কোনও রিটার্নের ধরণের ওভারলোড করতে পারি না।

  • যদিও আমরা ওভারলোড করতে পারি , আর্গুমেন্ট বা ইনপুট পরামিতি আলাদা হতে হবে।



    কখন এটি ব্যবহার করবেন। জাভাতে
  • আমরা দুটি পদ্ধতি ওভারলোড করতে পারি না যদি সেগুলি কেবল একটি স্থির কীওয়ার্ড দ্বারা পৃথক হয়।

  • অন্যান্য স্ট্যাটিক পদ্ধতির মতো, মূল () পদ্ধতিটিও ওভারলোড করা যায়।

পদ্ধতি ওভারলোডিং - জাভা-এডুরেকাতে পদ্ধতি ওভারলোডিং এবং ওভাররাইড



পাইথন কীভাবে পদ্ধতি ওভারলোডিং কাজ করে তা বোঝার জন্য একটি সাধারণ প্রোগ্রামটি একবার দেখে নেওয়া যাক।

পাবলিক ক্লাস ডিভ {পাবলিক ইন্ট ডিভ (ইন এ, ইনট বি) {রিটার্ন (এ / বি)} পাবলিক ইন ডিটি ডিভিও (ইন্ট এ, ইনট বি, ইনট সি) {রিটার্ন ((এ + বি) / সি)} পাবলিক স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং আরগস []) {Div ob = নতুন Div () ob.div (10, 2) ob.div (10, 2, 3)}}
 আউটপুট: 5 4

উপরের প্রোগ্রামে, আমরা একই নামের সাথে পৃথক দুটি পরামিতি সহ দুটি পদ্ধতি রয়েছে। পদ্ধতিটি ওভারলোডিংকে এভাবে কাজ করে ।

কেন ওভারলোডিং পদ্ধতি?

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

মূল () পদ্ধতিটি ওভারলোড হচ্ছে:

জাভাতে মূল () পদ্ধতিটি ওভারলোড করার জন্য নিম্নলিখিতটি একটি উদাহরণ।

পাবলিক ক্লাস এডুরেকা {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরগস) {System.out.println ('হ্যালো') Edureka.main ('এডুরেকান')} পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরজি 1) {System.out.println (' স্বাগতম '+ arg1) Edureka.main (' ওয়েলকাম ',' টু এডুরেকা ')} পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরজি 1, স্ট্রিং আরজি 2) {System.out.println (' হ্যালো ', + আর্গ 1, + আরজি 2)}
 আউটপুট: হ্যালো স্বাগতম এডুরেকান হ্যালো, এডুরেক আপনাকে স্বাগতম

পদ্ধতি ওভারলোডিং উদাহরণ

  • জাভা স্থির পদ্ধতি ওভারলোড প্রোগ্রাম।
পাবলিক ক্লাস টেস্ট {পাবলিক স্ট্যাটিক ইন ফানক (ইন এ) 100 100% ফিরিয়ে দিন {পাবলিক স্ট্যাটিক চর ফানক (ইনট্রি, ইনট বি) {রিটার্ন 'এডুরেকা'} পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরগস []] {System.out.println ( ফানক (1)) System.out.println (ফানক (1,3))}
 আউটপুট: 100 এডুরেকা
  • একই নামে তিনটি পদ্ধতি ওভারলোড করার প্রোগ্রাম।
পাবলিক ক্লাস অ্যাড {পাবলিক ইনট অ্যাড (ইনট এ, ইনট বি) {রিটার্ন (এ + বি)} পাবলিক ইনট অ্যাড (ইন্ট এ, ইনট বি, ইনট সি) {রিটার্ন (এ + বি + সি)} পাবলিক ডাবল অ্যাড (দ্বিগুণ a, ডাবল বি) {রিটার্ন (এ + বি)} পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরগস []) ob যুক্ত করুন = নতুন অ্যাড () ob.add (15,25) ob.add (15,25,35) ob .ড্যাড (11.5, 22.5)}
 আউটপুট: 40 75 34

জাভাতে ওভাররাইডিং পদ্ধতি কী?

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

চাইল্ড ক্লাস অবজেক্ট যদি পদ্ধতিটিকে কল করে তবে শিশু শ্রেণি পদ্ধতিটি পিতামাতার শ্রেণি পদ্ধতিটিকে ওভাররাইড করে। অন্যথায়, যদি পিতামাত্ত শ্রেণীর অবজেক্টটি পদ্ধতিটি কল করে তবে পিতামাত্ত শ্রেণির পদ্ধতিটি কার্যকর করা হবে।

পদ্ধতি ওভাররাইড জাভাতে রানটাইম পলিমারফিজম প্রয়োগ করতে সহায়তা করে। জাভাতে পদ্ধতি ওভাররাইড কীভাবে কাজ করে তা বোঝার জন্য একটি সহজ উদাহরণ গ্রহণ করি।

ক্লাস প্যারেন্ট {অকার্যকর দর্শন () {System.out.println ('এটি একটি প্যারেন্ট শ্রেণি পদ্ধতি)}} শ্রেণি শিশু পিতামাতার {শূন্য দৃষ্টিভঙ্গি বাড়ায় ()। System.out.println (' এটি একটি শিশু শ্রেণি পদ্ধতি)}} পাবলিক স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং আরগস []) {প্যারেন্ট ওব = নতুন প্যারেন্ট () ওব.ভিউ () পিতা বা মাতা ob1 = নতুন শিশু () ওবি 1. ভিউ ()
 আউটপুট: এটি একটি শিশু শ্রেণির পদ্ধতি

পদ্ধতি ওভাররাইডিংয়ের নিয়ম

  • দ্য অ্যাক্সেস সম্পাদনা ওভাররাইড পদ্ধতিতে কেবল আরও অ্যাক্সেসের অনুমতি দিতে পারে।

  • প্রতি চূড়ান্ত পদ্ধতি মেথড ওভাররাইডকে সমর্থন করে না।

  • একটি স্থিতিশীল পদ্ধতি ওভাররাইড করা যায় না।

  • ব্যক্তিগত পদ্ধতিগুলি ওভাররাইড করা যায় না।

  • ওভাররাইডিং পদ্ধতির রিটার্নের ধরণটি একই রকম হতে হবে।

  • সুপার কীওয়ার্ড ব্যবহার করে ওভাররাইড পদ্ধতিতে আমরা প্যারেন্ট ক্লাস পদ্ধতিটি কল করতে পারি।

    সি ++ ভার্চুয়াল ফাংশন = 0
  • প্রতি নির্মাতা ওভাররাইড করা যায় না কারণ একটি শিশু শ্রেণি এবং পিতামাতার শ্রেণীর একই নামের সাথে নির্মাতা থাকতে পারে না।

পদ্ধতি ওভাররাইড উদাহরণ

  • সুপার কীওয়ার্ড ব্যবহার করে ওভাররাইড দেখানোর প্রোগ্রাম
ক্লাস প্যারেন্ট-বায়োড শো () {System.out.println ('প্যারেন্ট ক্লাস মেথড')} ক্লাস চাইল্ড প্যারেন্ট-বায়োড শো () {সুপার.শো () System.out.println ('শিশু শ্রেণি পদ্ধতি')} সর্বজনীন স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং আরগস []) {পিতামাত্র ob = নতুন শিশু () ob.show ()}}
 আউটপুট: অভিভাবক শ্রেণি পদ্ধতি শিশু শ্রেণির পদ্ধতি

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

জাভাতে মেথড ওভারলোডিং এবং ওভাররাইডের মধ্যে মূল পার্থক্য নীচে দেওয়া হল।

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

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

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

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে 'জাভাতে ওভাররেডিং পদ্ধতিতে ওভারলোডিং পদ্ধতিতে' এই নিবন্ধটির মন্তব্য বিভাগে এটি উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।