私は3つのクラスを持っています。それらはすべて類似した整数、メソッドなどを持っています...
class Country{
int a,b;
public:
Country();
void doSomething();
:
:
}
class Military : public Country {
public:
Power();
void doAnother();
void doAnother2();
:
:
}
class Technology : public Military{
public:
Technology();
void doAnother3();
:
:
}
この継承が私のソリューションに適していると仮定します。しかし、ご覧のとおり、国から軍隊を作成する場合、論理的にはそれらの間に関係はありません。つまり、軍隊は国ではありません。国の技術についても、問題は同じです。テクノロジーは軍隊でも国でもありません。
とにかく、その解決策は私にとっては大丈夫です、それは私のコードを短くします、しかし私がこれをするならば、私はオブジェクト指向プログラミング哲学を裏切りますか?それは矛盾ですか?