#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入門[言語仕様から開発手法まで]」がおすすめです。

コメント

このブログの人気の投稿

#11 Rustで学ぶエラーハンドリングの基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本

#19 Goで学ぶテスト(単体テスト)の基本