为什么不把Model下面的某些方法写成static的,如deleteById(Object idValue)

为什么不把Model下面的某些方法写成static的,如deleteById(Object idValue)等等,这些方法不需要实例化对象去访问,写成static的在调用的时候就可以很好的分开了,静态的dao也不需要了

评论区

JFinal

2017-02-13 13:09

static 方法倾向于函数式编程,在面向对象开中一般用于工具类方法。弄成 static 不利于继承扩展,例如 model 中的方法都是可以在继承类中通过覆盖父类来扩展的

此外 static 方法中也无法通过 getClass() 拿到类型信息,也就无法实现 active record 模式中的很多功能

热门反馈

扫码入社