一般的な車両情報を含むモジュール Vehicle があります。Vehicle オブジェクトに機能を追加する別のモジュール Car があります。
// Pseudo code only. The final functions do not have to resemble this
var vehicle = require('vehicle')
vehicle.terrain = 'Land'
var car = vehicle.createCar()
// car and anotherCar will have unique Car-related values,
// but will use the same Vehicle info
var anotherCar = vehicle.createCar()
Car モジュールに Object.create を使用することを考えていますが、Object.create の呼び出し先がわかりません。
- Vehicle オブジェクトのインスタンスを取得し、Vehicle インスタンスをプロトタイプとして Object.create を実行するコンストラクタを Car モジュールに含める必要がありますか?
- それとも、createCar のように、Vehicle オブジェクトの関数で Object.create を実行する必要がありますか? この方法に関する私の問題は、Car が Vehicle から派生したものであることを気にする必要があることです。
- または、 Object.create が正しいアプローチである場合でも。
例やベスト プラクティスを教えていただければ幸いです。
アップデート:
解決しようとしている継承の問題をよりよく反映するように例を変更しました。