pythonでは、クラスのメソッドに@property
デコレータを使用してプロパティとして使用できます。だからcar.tyres()
の代わりにcar.tyres
と書いてください。 car::tyres
にアクセスするたびに、いくつかのメソッドが実行され、オブジェクト指向のパラダイムに従って値が返されます。この方法では、オブジェクトに情報を格納する必要はありませんが、アクセス時に計算する必要があります(メモリとCPU時間のトレードオフが可能です)。S4オブジェクトのプロパティデコレータ
私は今、Rで同様S4オブジェクトを持っていますし、これはRに良い習慣であるかどうか、これはS4オブジェクトのRで可能です
- だろうかと
- ?
私はRでこれを行うために、より一般的な方法は、一般的な機能tyres()
を書き、その後tyres(car)
を行うことであるという感覚を持っている(2)に関しては。しかし、それは私にとってOOプログラミングとは思われません。誰かが精緻化できますか?
「自然なOOPコード」は、Rでは不自然なので議論の対象となります(私の見解では間違っています)。機能的な言語であるRは、そのような言語よりもOOPの見解が異なりますJavaとC++として。多くの人々が最初に似たような言語でOOPにさらされていますが、OOPの独占はありません。実際、JavaスタイルのOOPはオリジナルのOOPとほとんど共通していません。これははるかに機能的なパラダイムに従いました。 –
@KonradRudolph、OK、私は同意します。 OOPはカプセル化、継承、多型性、そしてS3についてもそれらを組み込んでいます。これらの概念を特定の構文と私自身の好みと混同するために私は賢くない。 –