Intern
Ce face metoda toString()?
sobes.tech AI
Răspuns de la AI
Metoda toString() oferă o reprezentare a obiectului sub formă de șir de caractere. Este utilizată de obicei pentru depanare sau înregistrare, pentru a obține informații despre starea obiectului într-un format ușor de citit.
În majoritatea limbajelor de programare, clasele de bază au o implementare standard a toString(), dar se recomandă suprascrierea acesteia în clasele personalizate pentru a oferi informații mai semnificative.
Exemplu de suprascriere în Java:
// Clasa User
class User {
private String name;
private int age;
// Constructor
public User(String name, int age) {
this.name = name;
this.age = age;
}
// Suprascrierea metodei toString
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
// Metoda main pentru exemplu
public static void main(String[] args) {
User user = new User("Alice", 30);
System.out.println(user); // Afișează șirul obținut din toString
}
}
Exemplu de suprascriere în Python:
# Clasa User
class User:
# Constructor
def __init__(self, name, age):
self.name = name
self.age = age
# Suprascrierea metodei __str__ (echivalent cu toString în Python)
def __str__(self):
return f"User{{name='{self.name}', age={self.age}}}"
# Suprascrierea metodei __repr__ (reprezentarea pentru dezvoltatori)
def __repr__(self):
return f"User(name='{self.name}', age={self.age})"
# Exemplu de utilizare
user = User("Bob", 25)
print(user) # Afișează șirul din __str__
print(repr(user)) # Afișează șirul din __repr__
În JavaScript:
// Clasa User
class User {
// Constructor
constructor(name, age) {
this.name = name;
this.age = age;
}
// Suprascrierea metodei toString()
toString() {
return `User{name='${this.name}', age=${this.age}}`;
}
}
// Exemplu de utilizare
const user = new User("Charlie", 35);
console.log(user.toString()); // Apelează explicit toString
console.log(user); // Poate fi apelat automat
Scopul principal al toString():
- Debug: Permite vizualizarea rapidă a conținutului obiectului.
- Logging: Facilitează înregistrarea informațiilor despre obiecte în fișiere de log.
- Conversie în șir: Este utilizat atunci când obiectul are nevoie de o reprezentare în șir (de exemplu, la concatenarea cu un șir).