継承の使用例が不思議でした。具体的には、Axisクラスを持つC#の状況があります。このクラスでは、他のプロパティの中でもクラスに文字列名を付けることができます。したがって、Xという名前の軸を作成するために新しい軸( "X")を書くことができます。継承を命名規約として使用する
通常、X軸、Y軸、Z軸を作成したいので、Xという名前の3つのサブクラス、Y、Zの各要素で構成され、それぞれがコンストラクタ内でAxis名が何であるかを指定します。
現在のところ、Axisクラスにはたくさんのコードがありませんので、コードの再利用は非常に少ないです(ただし、変更することは可能ですが)。そして、公正であるために、(新しいX())の代わりに書くことがそれほど問題ではありません(新しいAxis( "X"))。
とにかく、このようなコードを書くのに不利な点があるのか、それともこのようなことをするのが一般的でないのかということになります。とても感謝しております!
「軸」の静的プロパティが「X」、「Y」、「Z」と呼ばれるのはなぜですか?これらは 'Axis'または(オプションで)共有インスタンスの新しいインスタンスを返すことができます(' Axis'に可変状態があるかどうかによって異なります)。これらのサブクラスが異なるクラスである必要があると思いますか? –
一般に、新しいクラスを作成する理由は、機能を追加することです。しかし、あなたがやっているような "プロキシ名"を作成すると、時には読みやすくすることができます。ストーリーのようなコードを読んでみて、そのストーリーを理解しやすいものに基づいて決定してください。 – theGleep
これは正しいデザインであるというオッズはあまり良くありません。軸の方向は単なるプロパティであり、軸が別の方向を指しているからといって、メソッドをオーバーライドしたり追加したりすることは考えられません。 「X」を隠したい場合は、オブジェクトファクトリを検討してください。 –