#13 Rustで学ぶクラスの基本
Rustには他の言語のような「クラス」という単語は存在せず、代わりに`struct`と`impl`を組み合わせて似たようなことを表現します。この記事では、Rustにおけるクラスに相当する仕組みの基本を解説します。
structでデータを定義する
struct Person {
name: String,
}
`struct`は、関連するデータをひとまとめにする仕組みです。
implでメソッドを追加する
データに対する処理(メソッド)は、`impl`というブロックの中に書きます。
impl Person {
fn new(name: &str) -> Person {
Person { name: String::from(name) }
}
fn greet(&self) {
println!("こんにちは、{}です", self.name);
}
}
インスタンスを作って使う
let person = Person::new("太郎");
person.greet();
Rustならではの注意点
「データ(struct)」と「処理(impl)」が分離しているのは、クラスにデータとメソッドをまとめて書く他の言語とは大きく異なる考え方です。最初は戸惑うかもしれませんが、この分離が、Rustのコードの見通しの良さにつながっています。
まとめ
Rustでは`struct`でデータを、`impl`でメソッドを定義します。他の言語の「クラス」とは違う考え方ですが、組み合わせることで似たようなことが実現できます。
本ページはプロモーションを含みます。
参考書籍(PR)
Rustをもっと学びたい方には「実践Rust入門[言語仕様から開発手法まで]」がおすすめです。
コメント
コメントを投稿