Sobes.tech
Junior

რა უნდა განასხვავოს ორი მეთოდი, რათა ჩვენ მათ გადატვირთულად მივიჩნიოთ?

sobes.tech AI

პასუხი AI-სგან

ორი მეთოდი ითვლება გადატვირთულად, თუ ისინი პასუხობენ შემდეგ პირობებს:

  • შეერთებული მეთოდის სახელი. მეთოდების სახელები უნდა იყოს ერთნაირი.
  • მეთოდის განსხვავებული სიგნატურა. მეთოდის სიგნატურა მოიცავს მეთოდის სახელს და პარამეტრების ტიპების სიას (მათ რაოდენობას, წესრიგს და ტიპებს). მეთოდის დაბრუნების ტიპი არ არის სიგნატურის ნაწილი და არ ახდენს გავლენას გადატვირთვაზე.

მაგალითები:

class Example {
    void print(int num) { // სიგნატურა: print(int)
        System.out.println(num);
    }

    void print(String text) { // სიგნატურა: print(String)
        System.out.println(text);
    }

    void print(int num, String text) { // სიგნატურა: print(int, String)
        System.out.println(num + " " + text);
    }

    // ეს არ არის გადატვირთვა, რადგან სიგნატურა print(int) განმეორებითია
    // int print(int num) {
    //     return num;
    // }
}

გადატვირთვის მაგალითებს აჩვენებს ცხრილი:

მეთოდის სახელი პარამეტრების ტიპები ერთნაირი / განსხვავებული მეთოდები გადატვირთულია? მიზეზი
calc (int, int) განსხვავებული დიახ განსხვავებული სიგნატურა (რაოდენობა და ტიპები)
calc (double, double) განსხვავებული დიახ განსხვავებული სიგნატურა (ტიპები)
calc (int, int, int) განსხვავებული დიახ განსხვავებული სიგნატურა (რაოდენობა)
calc () განსხვავებული დიახ განსხვავებული სიგნატურა (რაოდენობა)
calc (int, int) ერთნაირი არა ერთნაირი სიგნატურა
calculate (int, int) განსხვავებული არა მეთოდის სახელი განსხვავებულია