我想要擴展如下JFinal的Model的功能,先繼承這個基類爲BaseModel,而後全部的POJO都繼承這個BaseModel,這樣就很方便擴展在Model中的功能,又不改變Model的代碼,方便擴展本身的功能。
查看了這個Model的類定義是這樣的:
java
public abstract class Model<M extends Model> implements Serializable { ...... }這個Model是採用Java泛型定義的抽象類,參考泛型的實現原理和機制,定義了BaseModel:
public class BaseModel<M extends BaseModel> extends Model<M> { ...... }後面的話,就簡單了,用戶的POJO類定義和JFinal手冊一致了:
public class User extends BaseModel<User> { ...... }
總的來講,繼承的思想都一致,由於泛型的介入,代碼稍微複雜了點,這也是泛型的好處啊。
須要二次繼承JFinal的Model類的能夠參考下。 code