を使用すると、このクラス図を検討しながら、コードの重複を避けるためにしよう:設計上の問題:Consts
車は200キロの定数最高速度、およびバス100キロを持っています。私はこれをサブクラスのconst maxSpeedフィールドとして表します。
getMaxSpeed()はどのようにしてこの定数を返しますか?これは私の問題を説明するための単純な例であるため、getMaxSpeed()をすべてのサブクラスに複製しても私は役に立ちません。
これを行う方法はありますか?
私は既にconstを避けて仮想プロパティを使うという解決法を考えましたが、クラスのすべてのインスタンスはmaxSpeedフィールドを保持します。これはスペースの無駄です。
仮想プロパティのフィールドは必要ありません。単にそれを 'virtual int MaxSpeed {get {return 200; }} ' – knittl
そうです。それはソリューションのようなにおいがしますが、関数呼び出しがあります。私はコンパイラに私のためにこれらの数値を移植させるためにconstを欲しかった – wolfovercats
'const'を望むならば、それは仮想にすることはできません。コンパイラが派生クラスから定数をインライン化する方法はありません。 – Gabe