1
私は基本クラスFruitと子クラスのインスタンスAppleを持っています。 Appleインスタンスをデータベースに保存するにはどうすればよいですか? Appleがinstanceof
の方法でAppleを検出したかどうかをチェックすると、良いデザインと見なされるかどうかは、insertFruit
の方法でしょうか?基本クラスから派生したインスタンスを保存する
私は基本クラスFruitと子クラスのインスタンスAppleを持っています。 Appleインスタンスをデータベースに保存するにはどうすればよいですか? Appleがinstanceof
の方法でAppleを検出したかどうかをチェックすると、良いデザインと見なされるかどうかは、insertFruit
の方法でしょうか?基本クラスから派生したインスタンスを保存する
オブジェクトがサブクラスのインスタンスであるかどうかをチェックするメソッドをスーパークラスに持つのは良い設計とは思えません。後でバナナを追加したいのですが? insertFruit()に別のチェックを追加しますか?
多態性と一緒にAppleクラスのinsertFruit()メソッドをオーバーライドする方が良いと思います。
あなたはそうです。何ができるかは、サブクラス固有のフィールドを保存してから、ベースクラスのフィールドのFruitのsaveメソッドを呼び出すようにオーバーライドすることです。 DBでは、これはアップルのための新しい記録として反映されるだろう、それはその後Fruitエントリーで使われているIDだ。 –