Sobes.tech
Intern

toString() ыкмасы эмне кылат?

sobes.tech AI

AIден жооп

Метод toString() камсыздайт объекттин тексттик көрсөтүүсү. Адатта ал ката табуу же лог жүргүзүү үчүн колдонулат, объекттин абалын окууга ыңгайлуу форматта алуу үчүн.

Көпчүлүк программалоо тилдеринде негизги класстар toString() стандарттык ишке ашырылышына ээ, бирок аны колдонуучу класстарда кайра аныктоо сунушталат, көбүрөөк маанилүү маалымат берүү үчүн.

Javaда кайра аныктоо мисалы:

// User классы
class User {
    private String name;
    private int age;

    // Конструктор
    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // toString методун кайра аныктоо
    @Override
    public String toString() {
        return "User{" +
               "name='" + name + '\'' +
               ", age=" + age +
               '}';
    }

    // Мain ыкмасы мисал үчүн
    public static void main(String[] args) {
        User user = new User("Alice", 30);
        System.out.println(user); // toStringтен алынган сапты чыгарат
    }
}

Pythonдо кайра аныктоо мисалы:

# User классы
class User:
    # Конструктор
    def __init__(self, name, age):
        self.name = name
        self.age = age

    # __str__ ыкмасын кайра аныктоо (toStringке окшош)
    def __str__(self):
        return f"User{{name='{self.name}', age={self.age}}}"

    # __repr__ ыкмасын кайра аныктоо (иштеп чыгуучу үчүн көрсөтүү)
    def __repr__(self):
        return f"User(name='{self.name}', age={self.age})"

# Колдонуу мисалы
user = User("Bob", 25)
print(user) # __str__ аркылуу чыгарат
print(repr(user)) # __repr__ аркылуу чыгарат

JavaScriptте кайра аныктоо мисалы:

// User классы
class User {
    // Конструктор
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }

    // toString ыкмасын кайра аныктоо
    toString() {
        return `User{name='${this.name}', age=${this.age}}`;
    }
}

// Колдонуу мисалы
const user = new User("Charlie", 35);
console.log(user.toString()); // Ачык чакыруу
console.log(user); // Браузер консолунда автоматтык түрдө чакырылышы мүмкүн

toString() негизги максаты:

  • Ката табуу: Объекттин мазмунун тез көрүү
  • Лог жазуу: Объекттер жөнүндө маалыматтарды лог файлдарга жазуу
  • Текстке айландыруу: Объекттин тексттик көрүнүшү керек болгондо (мисалы, саптар менен кошуу учурунда).