1. ホーム
  2. oop

[解決済み] Rとオブジェクト指向プログラミング

2023-07-26 19:47:40

質問

オブジェクト指向はRでも可能です。しかし、Pythonなどと異なり、オブジェクト指向を実現する方法はたくさんあります。

私の質問です。

どのような メジャー RのOOプログラミングのこれらの方法は、どのような違いがあるのでしょうか?

ここにある回答は、RプログラマがどのOOプログラミング手法が自分のニーズに最も合っているかを判断するための参考となるのが理想的です。

そのため、私は、客観的な方法で、経験に基づき、事実と参照に裏打ちされた詳細を求めています。 明確化するためのボーナスポイント どのように これらのメソッドが標準的な OO プラクティスにどのようにマッピングされるかを明確にすると、ボーナスポイントが加算されます。

どのように解決するのか?

S3クラス

  • オブジェクトというより命名規則
  • .構文に基づく。 例:print の場合。 print を呼び出す print.lm print.anova などです。 また、見つからない場合は print.default

S4クラス

参照クラス

プロト

  • ggplot2は元々protoで書かれていましたが、最終的にはS3を使って書き直される予定です。
  • きちんとしたコンセプト(クラスではなくプロトタイプ)だが、実際には厄介なようだ
  • ggplot2 の次のバージョンはそれから離れているようです。
  • コンセプトと実装の説明

R6クラス

  • 参照
  • S4 クラスに依存しない
  • " 作成する R6クラスは、フィールドとメソッドを分ける必要がないことと、フィールドの型を指定できないことを除けば、参照クラスと同様です。