Sobes.tech
Intern

toString() usuli nima qiladi?

sobes.tech AI

AIdan javob

toString() usul metodi ob'ektning satr ko'rinishini taqdim etadi. Odatda, uni debugging yoki logging uchun ishlatiladi, ob'ektning holati haqida o'qilishi oson bo'lgan formatda ma'lumot olish uchun.

Ko'pchilik dasturlash tillarida asosiy sinflar uchun toString() ning standart implementatsiyasi mavjud, lekin uni maxsus sinflarda qayta yozish tavsiya etiladi, shunda yanada mazmunli ma'lumotlar taqdim etiladi.

Java'da qayta yozish misoli:

// User sinfi
class User {
    private String name;
    private int age;

    // Konstruktor
    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // toString() metodini qayta yozish
    @Override
    public String toString() {
        return "User{" +
               "name='" + name + '\'' +
               ", age=" + age +
               '}';
    }

    // misol uchun main metodi
    public static void main(String[] args) {
        User user = new User("Alice", 30);
        System.out.println(user); // toString() dan olingan satrni chiqaradi
    }
}

Python'da qayta yozish misoli:

# User sinfi
class User:
    # Konstruktor
    def __init__(self, name, age):
        self.name = name
        self.age = age

    # __str__ metodini qayta yozish (toString ga teng)
    def __str__(self):
        return f"User{{name='{self.name}', age={self.age}}}"

    # __repr__ metodini qayta yozish (dasturchilar uchun taqdimot)
    def __repr__(self):
        return f"User(name='{self.name}', age={self.age})"

# foydalanish misoli
user = User("Bob", 25)
print(user) # __str__ dan chiqarilgan satr
print(repr(user)) # __repr__ dan chiqarilgan satr

JavaScript'da:

// User sinfi
class User {
    // Konstruktor
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }

    // toString() metodini qayta yozish
    toString() {
        return `User{name='${this.name}', age=${this.age}}`;
    }
}

// foydalanish misoli
const user = new User("Charlie", 35);
console.log(user.toString()); // toString ni aniq chaqirish
console.log(user); // Ba'zi muhitlarda avtomatik chaqiriladi

toString() ning asosiy maqsadi:

  • Debug: Ob'ektning mazmunini tez ko'rish imkonini beradi.
  • Logging: Ob'ektlar haqidagi ma'lumotlarni log fayllarga yozishni osonlashtiradi.
  • Stringga aylantirish: Ob'ektga satr ko'rinishida taqdim etilishi kerak bo'lsa, ishlatiladi (masalan, satr bilan qo'shish paytida).