私はJavaでプロジェクトを進めており、MVCアーキテクチャを使用することに決めました。継承したメソッドを使って、サブクラスの 'スーパークラスの代わりに変数'を使用する
私はこのようになりますModel
クラスを持っている:
public class Model {
static String table_name = null;
// ...
public static Model create(Map<String, Object> data) {
// insert `data` into database table `table_name`
}
// ...
}
私はModel
を拡張するクラスUser
を持つようにしたいが、私はUser
で再実装create()
したくありません。私はちょうどtable_name
の値を変更したいとサブクラスtable_name
使用するように継承されたcreate()
をしたい:
public class User extends Model {
static String table_name = "users";
// ...
}
どのように私はこれを達成することができますか?
は私がModel
にsetTableName()
メソッドを追加する解決策を知っているが、それはtable_name
は非静的である場合にのみ機能します。しかし、create()
を静的にして、これを行うことができるようにするためには、静的にする必要があります。User.create()
これは動作しません。パラメータとしてメソッドに値を渡す方が良い – GurV
@ GurwinderSinghそれが可能にならないのはどういうことでしょうか? –
Look [Here](http://stackoverflow.com/questions/2593258/is-it-possible-to-access-variable-of-subclass-using-object-of-superclass-in-poly) – GurV