对于接口的理解
可能是对于接口的理解 最早是来源于 计算机网络吧:层之间的通信
所以在学习面向对象的过程中 一直难以理解“接口” 到底是哪里接哪里
最近把书详细的看了一遍
发现接口是一组为实现的方法的集合。
但是在每次使用时 都要把接口里的方法实现了,我就想到既然接口还需要被实现 那还用接口干嘛 直接重新写方法 不就可以了么 多费一步 然后从网上去查找接口的好处
发现以下的理解
————————》
接口用得好坏,取决于水平。但是初步的理解接口还是不难的。首先记住:类是对象的抽象,接口是方法的抽象。类的概念就不说了。单说接口吧。如果方法跨越不同类的对象,可使用接口,即然你语法很熟了,我就不去写代码了。
举个例子吧,一个外地的朋友突然来看你,你常常会问“你是坐车来的还是坐飞机来的?”
那么可以定义了三个类:飞机类,船类,车类(当然,你也可以进一步把这三个类抽象为一个类,运输类。但为了说明接口,暂不作进一步抽象)。定义一个接口:客运。
三种类的对象都可以各自去实现“客运”这一接口,当然它们的实现方式各不相同。
再举一例,鸟类,飞机类,神仙类都能“飞”。这三种类都以各自的方式去实现“飞”这一接口的。
当然这两个例子只能浅浅的说明接口,以后你在运用时去深入理解吧。但记住:接口是是方法的抽象。如果方法跨越不同类的对象,可使用接口。
从他的叙述中
他认为 当跨越不同类的要使用大致功能相同的方法时 就可以使用接口,功能相似 但不完全相同 (功能相同 不如写静态函数)
然后发现这个人的理解更好一点
————————》
定义一个接口是为了遵循同一种规范,便于程序的扩展。它里面的成员可以是字段,索引器,属性,函数,事件。
其中函数是虚函数,只有函数定义,不写函数主体。
比如我们定义一个鸟的接口。规定鸟:可以飞翔,可以吃食。但是具体这是什么鸟,吃什么食物我们不用管,有这样一个接口就好,后面再写具体的鸟类时继承这个接口,再去考虑实现具体的函数。
由此可以看出,继承同一个接口可以实现类的多态性,但是他们都遵循同一个接口,有相同的类成员。
以上是我自己理解的,其他的你自己上网查吧,我个人对理论知识记得很烂。。。
他认为 接口是实现了一种规范 比如 鸟飞 神仙飞 飞机飞 具体方法不一样 但是都是飞 可以说是一种功能 就把他们叫做接口好了 继承接口 就告诉你 这玩意能飞 但是具体怎么飞 咱也不知道 应该不像是他后来说的多态性 而是说 一种整体架构的角度来看程序
后来发现 接口不能用字段 但是可以用属性
原因是
接口关心的是方法的约定,而不是方法的实现。
而具体怎么安排字段,要什么字段,字段在内存的位置,则是内部细节,接口不应该管这么宽。
属性的确就是getter和setter,但独立出来成为单独的类别,使它更自然,使得那些对象愿意对外展示的属性(颜色,大小,年纪等),不用通过粗笨的方法来得到。
比如WinForm下的PropertyGrid,就专门显示对象的属性,而不理睬字段或方法。
他的回答 也很好的说明了 接口的目的是规范
如果你觉得写的不错,欢迎转载和点赞。 转载时请保留作者署名jilodream/王若伊_恩赐解脱(博客链接:http://www.cnblogs.com/jilodream/