Menu
Coddy logo textTech

Draw Trait'i

Coddy'nin Rust Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 49 / 61.

challenge icon

Görev

Kolay

Bir Belge Sistemi oluşturmaya başlayalım! Bu projede, trait nesnelerini kullanarak UI bileşenlerini işlemek için esnek bir çerçeve oluşturacaksınız. Temel, kendi modül dosyasında bir Draw trait'i tanımlayarak başlar.

Kodunuzu düzenlemek için iki dosya oluşturacaksınız:

  • draw.rs: &self alan ve çıktı yazdıran draw adında tek bir metoda sahip, genel (public) bir Draw trait'i tanımlayın. Bu trait, tüm UI bileşenlerinin yerine getirmesi gereken sözleşme görevi görecektir.
  • main.rs: draw modülünüzü dahil edin ve genel bir text alanına (bir String) sahip Label adında basit bir struct oluşturun. Label için Draw trait'ini uygulayın, böylece draw() çağrıldığında etiketin metni yazdırılsın.

Ana fonksiyonunuzda (main function), bir Label örneği oluşturun ve metni görüntülemek için onun draw() metodunu çağırın.

Aşağıdaki girdi sağlanacaktır:

  • Etiketin metnini temsil eden bir dize (string)

Çıktınız, tek bir satırda tam olarak etiketin metni olmalıdır.

Kendin dene

mod draw;

use draw::Draw;

// TODO: text adında genel bir alanı (String) olan Label adında genel bir yapı (struct) tanımlayın

// TODO: Label için Draw özelliğini (trait) uygulayın
// draw yöntemi etiketin metnini yazdırmalıdır

fn main() {
    let mut input = String::new();
    std::io::stdin().read_line(&mut input).expect("Failed to read line");
    let text = input.trim().to_string();

    // TODO: Giriş metni ile bir Label örneği oluşturun
    // TODO: Etiket üzerinde draw() yöntemini çağırın
}

Object Oriented Programming bölümündeki tüm dersler