Özet - Dikdörtgen Eylemleri
Coddy'nin Rust Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 7 / 61.
Görev
Kolayİki alana sahip bir Rectangle yapısı oluşturun: width (u32) ve height (u32).
Aşağıdakileri içeren bir Rectangle uygulama bloğu ekleyin:
new:width: u32veheight: u32alan, yeni birRectangledöndüren ilişkili bir işlevarea:&selfalan ve alanıu32olarak döndüren işlevscale:&mut selfve birfactor: u32alan, hem width hem de height değerlerini faktörle çarpan işlev
Üç girdi alacaksınız:
- İlk satır: genişlik (u32)
- İkinci satır: yükseklik (u32)
- Üçüncü satır: ölçek faktörü (u32)
Sağlanan boyutlarla Rectangle::new kullanarak değiştirilebilir bir Rectangle oluşturun. Başlangıç alanını yazdırın, ardından dikdörtgeni verilen faktöre göre ölçeklendirin ve yeni alanı yazdırın.
Beklenen çıktı biçimi:
{initial_area}
{scaled_area}Kendin dene
use std::io;
// TODO: Rectangle struct'ını burada tanımla
// TODO: Rectangle için implementation bloğunu ekle:
// - new: width ve height alan, Rectangle döndüren associated function
// - area: &self alan, u32 döndüren method
// - scale: &mut self ve factor alan, width ve height'ı çarpan method
fn main() {
let mut input = String::new();
// Genişliği oku
io::stdin().read_line(&mut input).expect("Failed to read line");
let width: u32 = input.trim().parse().expect("Invalid number");
input.clear();
// Yüksekliği oku
io::stdin().read_line(&mut input).expect("Failed to read line");
let height: u32 = input.trim().parse().expect("Invalid number");
input.clear();
// Ölçek faktörünü oku
io::stdin().read_line(&mut input).expect("Failed to read line");
let factor: u32 = input.trim().parse().expect("Invalid number");
// TODO: Rectangle::new kullanarak mutable bir Rectangle oluştur
// TODO: Başlangıç alanını yazdır
// TODO: Dikdörtgeni factor ile ölçekle
// TODO: Yeni alanı yazdır
}Nesne Yönelimli Programlama bölümündeki tüm dersler
1Metotlar ve Davranış
Uygulama Bloklarına GirişSelf ParametresiDeğiştirilebilir Metotlarİlişkili FonksiyonlarBirden Fazla Uygulama BloğuMetot ZincirlemeÖzet - Dikdörtgen Eylemleri4Proje: Sanal Evcil Hayvan
Evcil Hayvanı TanımlamaEvcil Hayvanı Besleme2Kapsülleme ve Modüller
Modül TemelleriPublic Anahtar KelimesiPrivate AlanlarGetter'larSetter'larÖzet - Güvenli Kasa5Generic Yapılar
Generic Struct'larGeneric MetotlarÇoklu Generic TürlerGeneric FonksiyonlarÖzet - Koordinat Noktası8Sınırlandırıcı Olarak Trait'ler
Trait Sınırlandırıcı SözdizimiÇoklu SınırlandırıcılarWhere CümleciğiTrait'ler ile Tip DöndürmeÖzet - Generic Yazıcı11Rust'ta Tasarım Kalıpları
Newtype KalıbıKompozisyonDrop Trait'iFrom ve IntoÖzet - Smart Pointer Mock3İleri Seviye Enum'lar
Veri İçeren Enum'larEnum MetotlarıVeri Varyantlarını EşlemeOption Enum'ına Yeniden BakışÖzet - Shape Enum6Trait Tanımlama
Trait Nedir?Traitleri UygulamaVarsayılan UygulamalarVarsayılanları Geçersiz KılmaParametreli TraitlerÖzet - Media PlayerKendi başına pratik yap: Online Rust derleyicisi