Sobes.tech
Intern

Mida teeb meetod toString()?

sobes.tech AI

Vastus AI-lt

Meetod toString() pakub objekti tekstilist esitust. Tavaliselt kasutatakse vigade otsimisel või logimise eesmärgil, et saada teavet objekti oleku kohta mugavas lugemisvormis.

Enamikus programmeerimiskeeltes on põhiklassidel standardne toString() rakendus, kuid soovitatav on seda kasutaja klassides üle kirjutada, et pakkuda tähenduslikumat teavet.

Näide Java-s:

// Kasutaja klass
class User {
    private String name;
    private int age;

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

    // `toString()` meetodi ülekirjutamine
    @Override
    public String toString() {
        return "User{" +
               "name='" + name + '\'' +
               ", age=" + age +
               '}';
    }

    // Näide peamises funktsioonis
    public static void main(String[] args) {
        User user = new User("Alice", 30);
        System.out.println(user); // Väljundab `toString()` saadud stringi
    }
}

Python näide:

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

    # `__str__` meetodi ülekirjutamine (toString analoog)
    def __str__(self):
        return f"User{{name='{self.name}', age={self.age}}}"

    # `__repr__` meetodi ülekirjutamine (arendaja nägemiseks)
    def __repr__(self):
        return f"User(name='{self.name}', age={self.age})"

# Kasutamise näide
user = User("Bob", 25)
print(user) # Väljundab `__str__`-ist
print(repr(user)) # Väljundab `__repr__`-ist

JavaScript näide:

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

    // `toString()` meetodi ülekirjutamine
    toString() {
        return `User{name='${this.name}', age=${this.age}}`;
    }
}

// Kasutamise näide
const user = new User("Charlie", 35);
console.log(user.toString()); // Otse kutsub `toString()`
console.log(user); // Brauseri konsoolis võib automaatselt kutsuda

toString() peamine eesmärk:

  • Vigade otsimine: Kiire ülevaade objekti sisust.
  • Logimine: Teabe salvestamine objektidest logifailidesse.
  • Tekstiks konverteerimine: Kasutatakse, kui objekti on vaja tekstina (nt stringiga liitmisel).