কম্পিউটার

C# এ ফাংশন ওভাররাইডিং এবং পদ্ধতি লুকানোর মধ্যে পার্থক্য কী?


ওভাররাইডিং

ওভাররাইডিংয়ের অধীনে, আপনি একটি আচরণ সংজ্ঞায়িত করতে পারেন যা সাবক্লাস প্রকারের জন্য নির্দিষ্ট, যার মানে একটি সাবক্লাস তার প্রয়োজনীয়তার উপর ভিত্তি করে একটি প্যারেন্ট ক্লাস পদ্ধতি প্রয়োগ করতে পারে।

আসুন আমরা বিমূর্ত ক্লাসের একটি উদাহরণ দেখি যা ওভাররাইডিং -

প্রয়োগ করে

উদাহরণ

using System;

namespace PolymorphismApplication {
   abstract class Shape {
      public abstract int area();
   }

   class Rectangle: Shape {
      private int length;
      private int width;

      public Rectangle( int a = 0, int b = 0) {
         length = a;
         width = b;
      }

      public override int area () {
         Console.WriteLine("Rectangle class area :");
         return (width * length);
      }
   }

   class RectangleTester {
      static void Main(string[] args) {
         Rectangle r = new Rectangle(10, 7);
         double a = r.area();
         Console.WriteLine("Area: {0}",a);
         Console.ReadKey();
      }
   }
}

পদ্ধতি লুকানো (ছায়া করা)

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

ছায়া তৈরি করতে নতুন কীওয়ার্ড ব্যবহার করুন।

আসুন একটি উদাহরণ দেখি -

উদাহরণ

using System;
using System.Collections.Generic;

class Demo {
   public class Parent {
      public string Display() {
         return "Parent Class!";
      }
   }

   public class Child : Parent {
      public new string Display() {
         return "Child Class!";
      }
   }

   static void Main(String[] args) {
      Child child = new Child();
      Console.WriteLine(child.Display());
   }
}

  1. একটি পদ্ধতি এবং একটি ফাংশন মধ্যে পার্থক্য কি?

  2. জাভাস্ক্রিপ্টে ফাংশন এবং পদ্ধতির মধ্যে পার্থক্য কী?

  3. C# এ ওভাররাইডিং এবং শ্যাডোিংয়ের মধ্যে পার্থক্য কী?

  4. C# এ একটি ক্লাস এবং একটি বস্তুর মধ্যে পার্থক্য কী?