关于static方法和实例方法的问题
来源:12-8 Model上不要定义构造函数,否则会出错

西麦
2019-06-14
有个问题,如果不能使用constructor
的话,那使用staic
方法和实例化方法不就没有啥区别了。那在这个前提下,应该什么情况使用static
方法,什么时候用实例方法呢?
写回答
1回答
-
先来看下static方法和实例方法的区别:
所有在类中定义的方法,都会被实例继承。但是,如果在一个方法前加上static关键字,表明它是一个静态方法,表示该方法不会被实例继承,而是直接通过类来调用。
那么什么时候该用实例方法,什么时候该用静态方法呢?
我的理解是:如果某些操作依赖实例属性的时候使用实例方法,反之如果某些操作不需要依赖实例属性的时候就写成静态方法。(突然觉得我说了句废话)
在咱们这门课程中,写book的models时有一个获取书籍详情和我喜欢的书籍数量这两个功能。前者因为需要用到书籍的id作为参数来拼接一个url,很显然用的应该是实例方法,后者是调用数据库来查询一些数据,使用的应该是静态方法。
以上,是我的拙见,希望和您一起探讨!
30
相似问题