22/07/2021
[How To]
Inheritance - Rust
Tahukah Anda bahwa Rust mendukung sifat perwarisan? Yuk, mari kita lihat 😀
Pewarisan adalah mekanisme dimana objek dapat mewarisi sifat-sifat yang dimiliki dari objek lain, sehingga mendapatkan data dan perilaku objek induk tanpa harus mendefinisikannya lagi.
Di Rust, kita dapat menggunakan Traits. Ketika Anda merancang hubungan antar objek melakukannya dengan cara yang diperlukan, fungsionalitasnya didefinisikan oleh sebuah interface.
Contoh 1:
trait Cat {
fn get_sound(&self) -> String;
}
// CatPersia inherits dari Cat trait
trait CatPersia : Cat {
fn number_of_feet(&self) -> i32;
}
// CatSphynx inherits dari CatPersia dan Cat traits
trait CatSphynx : CatPersia + Cat {
fn number_of_tail(&self) -> i32;
}
Contoh 2:
trait A {
fn shown_a(&self);
}
//B inherits dari A trait
trait B: A {
fn shown_b(&self);
}
//C inherits dari A dan B traits
trait C: A + B {
fn shown_c(&self);
}
struct D {}
impl A for D {
fn shown_a(&self) {
println!("Implement A");
}
}
impl B for D {
fn shown_b(&self) {
println!("Implement B");
}
}
impl C for D {
fn shown_c(&self) {
println!("Implement C");
}
}
fn main() {
let d = D {};
d.shown_a();
d.shown_b();
d.shown_c();
}
Sangat mudah bukan? Menurut Anda bagaimana? Kasih komentar di bawah 😀