アカウント名:
パスワード:
OOP in Rust(日本語資料です)http://www.slideshare.net/KENZ_gelsoft/oop-in-rust [slideshare.net]
クラス継承はないけど、traitのmixinがあり、traitにデフォルト実装を定義できるので、インターフェイスを前面に出しつつ、実質的な継承も可能っぽいですね。RubyのEnumerableモジュールみたいなものが自然に実装できます。なんか最近、golang設計者の主張を初めとした、雑な感じのOOP否定論を耳にすることが多くてモヤモヤしていたのですが、RustではちゃんとしたOOPができそうで安心しました。golangの何がしたいのかよくわからない型システムに比べれば、ずっとよくデザインされていると感じます。
引用されているウィキペディアの
http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%8... [wikipedia.org] > これらの機能のうち、オブジェクト指向の考え方で不可欠なのは「カプセル化」の機能だけである。
これから
カプセル化だけじゃデータ抽象化と変わらないよね。最近の入門書はデータ抽象化→オブジェクト指向の順に書いてあって分かりやすい。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー
OOPがちゃんと使えそう (スコア:0)
OOP in Rust(日本語資料です)
http://www.slideshare.net/KENZ_gelsoft/oop-in-rust [slideshare.net]
クラス継承はないけど、traitのmixinがあり、traitにデフォルト実装を定義できるので、インターフェイスを前面に出しつつ、実質的な継承も可能っぽいですね。
RubyのEnumerableモジュールみたいなものが自然に実装できます。
なんか最近、golang設計者の主張を初めとした、雑な感じのOOP否定論を耳にすることが多くてモヤモヤしていたのですが、
RustではちゃんとしたOOPができそうで安心しました。
golangの何がしたいのかよくわからない型システムに比べれば、ずっとよくデザインされていると感じます。
Re: (スコア:1)
引用されているウィキペディアの
http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%8... [wikipedia.org]
> これらの機能のうち、オブジェクト指向の考え方で不可欠なのは「カプセル化」の機能だけである。
これから
Re:OOPがちゃんと使えそう (スコア:0)
カプセル化だけじゃデータ抽象化と変わらないよね。
最近の入門書はデータ抽象化→オブジェクト指向の順に書いてあって分かりやすい。