抽象类和接口? 财富值65

2016-10-12 08:06发布

请问在什么情况下,将对象抽象为一个抽象类?在什么情况下,该将对象抽象为一个接口?我知道他们两个的区别,就是想知道在什么场景下该抽象为哪种?

12条回答

比如你有好多个类似的对象(想了半天,用别的词不太合适),人也好,东西也好。他们的属性几乎都一样,你就可以把它们抽象成一个类。比如车类,有轮子、发动机、底盘、外壳等属性。new一个对象,来保存当前的属性,可能你要把这些属性保存到数据库,也可能要显示给用户,当前的对象就是起了个保存数据的作用。对象不仅仅能保存数据,还可以有自己的方法,比如发动车。点击某个按钮,调用当前对象的发动的方法。一般类的方法都会和数据的变化有关,我说的是一般,并不是所有。比如数据库连接类,就不会改变数据,只是起到一个连接数据库的作用。
接口一般来说是给外部调用的。你写了一系列的方法,最终能完成一个有用的动作。这一系列的方法最开始的地方就是接口,你可以这么理解。比如一个简单登陆界面,你输入用户名密码之后,点击确定就开始调用后台登录接口,把用户名密码传给服务器,服务器端接收需要一个方法,接收之后要对密码进行验证,又是一个方法。验证之后给客户端返回消息。登录成功或者失败,这一系列动作完成。当然这些你可以压到一个方法里完成,总之开始的地方就是接口。
以上说法比较直白,并不完全准确。

一周热门 更多>