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).