Menu
Coddy logo textTech

toString() Metodu

Coddy'nin Java Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 41 / 87.

Java’daki her sınıf, çeşitli kullanışlı yöntemler sağlayan Object sınıfından kalıtım alır. En sık geçersiz kılınan yöntemlerden biri, bir nesnenin dize gösterimini döndüren toString() yöntemidir.

Varsayılan olarak toString(), sınıf adını ve ardından nesnenin karma kodunu döndürür; bu pek yararlı değildir:

public class Person {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

Person p = new Person("Alice", 25);
System.out.println(p);  // Person@15db9742

toString() yöntemini geçersiz kılarak nesnenin durumunu açıklayan anlamlı bir çıktı sağlayabilirsin:

public class Person {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    @Override
    public String toString() {
        return "Person[name=" + name + ", age=" + age + "]";
    }
}

Person p = new Person("Alice", 25);
System.out.println(p);  // Person[name=Alice, age=25]

Bir nesneyi yazdırdığınızda veya onu bir dizeyle birleştirdiğinizde toString() yöntemi otomatik olarak çağrılır. Bu, hata ayıklamayı çok daha kolay hâle getirir; çünkü ek kod yazmadan bir nesnenin içeriğini hızlıca görebilirsiniz.

challenge icon

Görev

Kolay

Özel toString() uygulamalarını kullanarak öğeler hakkında anlamlı bilgiler görüntüleyen bir ürün envanteri sistemi oluşturalım. Her ürünün açık ve okunabilir bir gösterimini sağlamak için varsayılan toString() metodunu geçersiz kılan bir Product sınıfı oluşturacaksın.

Kodunu iki dosyaya ayıracaksın:

  • Product.java: Bir envanter öğesini temsil eden bir sınıf oluştur. Her Product üç özel alana sahiptir: name (String), price (double) ve quantity (int). Üç alanın tümünü başlatan bir kurucu ekle. toString() metodunu, tam olarak şu biçimde biçimlendirilmiş bir dize döndürecek şekilde geçersiz kıl: Product[name=X, price=Y, quantity=Z]; burada X, Y ve Z gerçek alan değerleridir. Fiyat, düz bir sayı olarak görüntülenmelidir (özel biçimlendirme gerekmez).
  • Main.java: Ürünler oluşturarak ve görüntüleyerek Product sınıfını çalışır hâle getir. Üç girdi alacaksın: bir ürün adı (String), bir fiyat (double) ve bir miktar (int). Bu değerlerle bir Product oluştur, ardından System.out.println() kullanarak ürün nesnesini doğrudan yazdır. Geçersiz kıldığın toString() metodun sayesinde bu işlem, anlaşılması zor varsayılan çıktı yerine biçimlendirilmiş ürün bilgilerini otomatik olarak görüntüleyecek!

Üç girdi alacaksın: ürün adı (String), fiyat (double) ve miktar (int).

Nesneyi doğrudan yazdırmanın toString() metodunu otomatik olarak çağırdığına dikkat et. Gerçek uygulamalarda hata ayıklamayı ve günlük kaydını çok daha kolay hâle getiren şey budur!

Kendin dene

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Girdileri oku
        String name = scanner.nextLine();
        double price = scanner.nextDouble();
        int quantity = scanner.nextInt();
        
        // TODO: Girdi değerleriyle bir Product nesnesi oluştur
        
        // TODO: Product nesnesini doğrudan yazdır
        // (Bu otomatik olarak toString() metodunuzu çağıracaktır!)
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online Java derleyicisi