Rangkuman: Aksi Persegi Panjang
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Rust di Coddy. Pelajaran 7 dari 61.
Tantangan
MudahBuat sebuah struct Rectangle dengan dua field: width (u32) dan height (u32).
Tambahkan blok implementasi untuk Rectangle dengan hal-hal berikut:
new: fungsi terkait yang menerimawidth: u32danheight: u32, lalu mengembalikanRectanglebaruarea: menerima&selfdan mengembalikan luas sebagaiu32scale: menerima&mut selfdanfactor: u32, lalu mengalikan width dan height dengan factor
Kamu akan menerima tiga input:
- Baris pertama: width (u32)
- Baris kedua: height (u32)
- Baris ketiga: faktor skala (u32)
Buat Rectangle yang bisa diubah menggunakan Rectangle::new dengan dimensi yang diberikan. Cetak luas awal, lalu skalakan persegi panjang dengan faktor yang diberikan, kemudian cetak luas baru.
Format output yang diharapkan:
{initial_area}
{scaled_area}Coba sendiri
use std::io;
// TODO: Definisikan struct Rectangle di sini
// TODO: Tambahkan blok implementasi untuk Rectangle dengan:
// - new: fungsi terkait yang menerima width dan height, lalu mengembalikan Rectangle
// - area: method yang menerima &self, lalu mengembalikan u32
// - scale: method yang menerima &mut self dan factor, lalu mengalikan width dan height
fn main() {
let mut input = String::new();
// Baca width
io::stdin().read_line(&mut input).expect("Failed to read line");
let width: u32 = input.trim().parse().expect("Invalid number");
input.clear();
// Baca height
io::stdin().read_line(&mut input).expect("Failed to read line");
let height: u32 = input.trim().parse().expect("Invalid number");
input.clear();
// Baca factor untuk penskalaan
io::stdin().read_line(&mut input).expect("Failed to read line");
let factor: u32 = input.trim().parse().expect("Invalid number");
// TODO: Buat Rectangle yang dapat diubah menggunakan Rectangle::new
// TODO: Cetak area awal
// TODO: Skalakan Rectangle dengan factor
// TODO: Cetak area baru
}Semua pelajaran di Pemrograman Berorientasi Objek
1Method dan Perilaku
Pengantar Blok ImplementasiParameter SelfMethod MutableFungsi TerkaitBeberapa Blok ImplementasiMethod BerantaiRangkuman: Aksi Persegi Panjang4Proyek: Hewan Peliharaan Virtual
Mendefinisikan Hewan PeliharaanMemberi Makan Hewan Peliharaan2Enkapsulasi dan module
Dasar-Dasar moduleKata Kunci publicField privateGetterSetterRekap: Loker AmanLatihan sendiri: Compiler Rust online