顧客が車両の仕様を確認できるように、キオスクで車/トラック/バンを表示するシステムをどのように設計するかというインタビューの質問がありました。(警告: 私は最近オブジェクト指向プログラミングをあまり行っていないので、悪い語彙が続く可能性があります)
私は、ホイールベース、ドライブトレイン、馬力などの非常に基本的な特性を備えたクラス、車両から始めたと言いました。次に、それを車、トラック、またはバンにサブクラス化し、トラックの荷台の長さや車のトランク容量など、より具体的な測定値を得ることができます。
次に、オプションを追加する方法を尋ねました。オプションはおそらくどの車両にも存在する可能性があると述べたので、車両にはオプションのリストがあると言えます。
最後に、彼らは、トラックとバンでのみ利用でき、車では利用できないオプションがあるかどうかを尋ねました。私は少し困惑しました. 私が説明したレイアウトを考えると、これをうまく実現する方法はありますか? これを解決するためにクラス階層を設定するより良い方法はありますか? それとも、ロジックを追加しないと簡単に解決できない、より複雑な問題なのでしょうか?