Vivasoft-logo

দিস (this) কীওয়ার্ড

জাভা

জাভাতে, দিস কীওয়ার্ড বহুলভাবে ব্যবহৃত হয়। এটি মূলত একটি “Reference Variable” যা কারেন্ট (current) অবজেক্টটিকে নির্দেশ করে।

  • দিস কীওয়ার্ড ব্যবহার করে কারেন্ট ক্লাসের মেথডকে ইনভোক করা যায়। কীওয়ার্ডটি ব্যবহার না করলে কম্পাইলার স্বয়ংক্রিয়ভাবে মেথডটি ইনভোক করার সময় এই কীওয়ার্ডটি যুক্ত করে নেয়।
  • this() কনস্ট্রাক্টর (কন্সট্রাক্টর সম্পর্কে আমরা পরবর্তীতে জানব) কলটি কারেন্ট ক্লাস কনস্ট্রাক্টরকে কল করতে ব্যবহার করা হয়। এটি কনস্ট্রাক্টর
  • পুনরায় ব্যবহার করতে ব্যবহৃত হয় যা কনস্ট্রাক্টর চেইনিং নামেও পরিচিত।

এই কীওয়ার্ডটিকে আর্গুমেন্ট হিসেবে মেথডেও পাস করা যায়।

উদাহরণঃ

class Example1 {
    void sayHelloM() {
        System.out.println(“Hello from sayHelloM”);
    }
    void sayHelloN() {
        System.out.println(“Hello from sayHelloN”);
        sayHelloM(); // Equivalent to this.sayHelloM()
    }
}
class Example2 {
    Example2() {
        System.out.println(“Constructor: Hello from Example2”);
    }
    Example2(int x) {
        this(); // Calls the default constructor
        System.out.println(“Parameterized Constructor: ” + x);
    }
}
class Example3 {
    void invokeMethod(Example3 obj) {
        System.out.println(“Method is invoked”);
    }
    void performOperation() {
        invokeMethod(this); // Calls method invokeMethod with ‘this’ as an argument
    }
}
public class TestCombinedExamples {
    public static void main(String[] args) {
        Example1 example1 = new Example1();
        example1.sayHelloN();
        Example2 example2 = new Example2(10);
        Example3 example3 = new Example3();
        example3.performOperation();
    }
}

সি#

সি# এ, দিস কীওয়ার্ড কারেন্ট অবজেক্টটিকে নির্দেশ করে এবং একটি এক্সটেনশান মেথডের প্রথম প্যারামিটারের একটি মডিফায়ার হিসেবে কাজ করে।

  • একই নামের ফলে হিডেন মেম্বারদের কোয়ালিফাই করা।
  • কারেন্ট অবজেক্টকে একটি মেথডে আর্গুমেন্ট হিসেবে পাঠানো।
  • indexers ডিক্লেয়ার করা।

উদাহরণঃ

class Employee {
    public string Name { get; }
    public decimal Salary { get; }
    public Employee(string name, decimal salary) {
        Name = name;
        Salary = salary;
    }
    public void PrintEmployee() {
        Console.WriteLine(“Name: {0}\nSalary: {1:C}”, Name, Salary);
        Console.WriteLine(“Taxes: {0:C}”, Tax.CalculateTax(Salary));
    }
}
class Tax {
    public static decimal CalculateTax(decimal salary) {
        // A simple tax calculation (8% of the salary)
        return 0.08m * salary;
    }
}
class MainClass {
    static void Main() {
        // Create an employee object:
        Employee employee1 = new Employee(“John Doe”, 40000);
        // Display employee information, including taxes:
        employee1.PrintEmployee();
    }
}