私は現在、私が取り組んでいるプロジェクト用の一連の特殊なデータ構造クラスを作成していますが、それらは多かれ少なかれいくつかの完全に同一のプロパティと関数を共有していることに気付きました。継承を使用して重複コードを減らすのはどうですか?
私はちょうど重複したコードで暮らすこともできますし、共有された基底クラスから継承させることもできます。その結果、コードの総量が少なくなり、全体的なメンテナンス性が向上します。しかし、うーん、私はこの時点で何をすべきかを決めることができません。
私は多かれ少なかれ継承ルートの恩恵を理解していますが、コードを重複していることと比較すると、それはどういうことでしょうか?
「長期的な」プロジェクトのために行くべき道はどちらですか?
コンポジションを使用することもできます。 – Jarod42
あなたはテンプレートを考えましたか? –
継承を "すべての子は親"の関係*と見なします。これは思考よりも頻繁に起こるものではありません。例えば、方形は長方形ではないかもしれません。長方形は、他の2つのサイトとは独立した2つの対向するサイトの長さを変えることができます。通常、合成(とフリー関数!)はコードの重複を避ける正しい方法です。 –