接口是一个管理的概念,面向对象OO的精髓就是对对象的抽象,最能体现这一点的就是
接口,接口可以标志类的类别,把不同类型的类归于不同的接口,可以更好的管理它们。

打个管理方面类似的比喻:
你开个杂货店,刚开始做生意时,由于买的东西较少,所以什么物品都堆在一起,别人买什么你就从中扒出来买。
后来你感觉这种方法非常不爽,每次扒来扒去太麻烦了,于是你把不同的产品放在不同的地方,如:厨房用品,洗衣用品等,更好的就用个货架把他们分开;这样若别人要个洗衣粉什么的,就直接去洗衣用品去拿就OK了。
再后来就如现在的超市,分类越来越细,厨房用品->>锅碗瓢盆,每个又都分别放在一个小货架,相要什么,直接去拿就OK了,省得想买个菜刀还满超市跑。

接口也类似上面的管理概念;当然把所有的货物全部椎放到你的门头去买也可以,但在一定情况下,你不会竟争过超市,当然你也可以在程序中把所有的功能都在类中实现,而不用接口,但在较大的项目中,扒来扒去找需要的功能类,自己都感觉烦!

所以如果你仅仅想实现这个功能,那么接口可能对你没什么用处,但要想更好的实现你的功能,建议不访就看一下,也许会有意想不到的收获。
参考附:
1.选择Java接口还是抽象类(ZT)
2.澄清Java语言接口与继承的本质(ZT)

以上纯属个人看法,欢迎指正!

转载于:https://www.cnblogs.com/linfuguo/archive/2006/05/09/394574.html

浅释一下,为什么要使用接口?相关推荐

  1. androidstudio mac mini_GitHub - jp1017/AndroidStudioPlugins: Android Studio 常用插件及浅释

    AndroidStudioPlugins Android Studio 常用插件及浅释 这里给出几个平时常用的as插件,方便我们的开发.点击标题就直接可以进入插件的github源码查看. as第一大插 ...

  2. 变频电源与变频器不同浅释

    问变频电源和变频器有什么不同之处,相信大家都还有很多疑问,只知道变频电源跟变频器不是同一个产品,具体的就不太了解了,还有些朋友可以知道大概的解释,就是变频器是用来调速用的,而变频电源则是用来模拟工厂用 ...

  3. 浅浅认识之VBS脚本访问接口与COMODO拦截COM接口

    这2天测试了一个使用了WMI提供ASEC后门,里面使用了JS脚本往外请求http获取执行命令.但我的分析系统却没抓到这个行为,可在真机中确实抓到有HTTP请求.相当奇怪. 最后无奈windbg出手,内 ...

  4. [导入]浅谈VB.NET中的接口

    只支持单继承的VB.NET为了解决多继承的问题,引入了接口的概念.我们可以这样来为接口下一个定义:接口就是指只包含虚成员的虚类. 文章来源:http://www.web3.cn/Content,200 ...

  5. 浅聊一下各类以太网媒体接口MII/RMII/SMII/GMII/RGMII/SGMII

    最近在学习以太网,了解到各种各样的以太网媒体接口:MII.RMII.SMII.GMII等等,有点乱,于是抽空理一下: MII MII,即Media Independent Interface,翻译过来 ...

  6. java8的函数式接口的好处_浅谈Java 8 新增函数式接口到底是什么

    从 Java 8 开始便出现了函数式接口(Functional Interface,以下简称FI) 定义为: 如果一个接口只有唯一的一个抽象接口,则称之为函数式接口.为了保证接口符合 FI ,通常会在 ...

  7. 浅谈航天防伪开票文本接口文件的解析

    航天信息防伪税控开票系统开票文本接口文件格式对外是公开的,只要你安装了防伪税控开票系统,就可以在其安装的目录如:"C:/Program Files/航天信息/防伪开票/DOC/接口文件示例& ...

  8. 浅谈:什么是ABI接口

    ABI ABI(Application Binary Interface)是开发接口标准之一. ABI描述了应用程序与OS(操作系统)之间的底层接口,允许编译好的目标代码在使用兼容ABI的系统中,无需 ...

  9. 浅谈如何写好一个接口

    前言 从工作至今,见过 N 多个接口. 那接口,叫一个百花齐放,奇形怪状,怎么写都有. 或许 公司没有一套约定俗成的后端编码规范吧. 下面分享一下我 "多年" 编写接口经验. 返回 ...

最新文章

  1. 如何查看keepalived版本号_Linux下Keepalived 安装与配置
  2. 禁止遮罩层以下屏幕滑动----正解(更新版)
  3. Flowable springboot项目自定义中文字体
  4. 计算机视觉CV中的论文写作英语(by Youki)
  5. 基于html5的在线教育,基于HTML5的在线学习系统的设计与实现
  6. eclipse新建Android项目时提示AndroidManifest.xml file missing!
  7. Ubuntu 搭建 NVIDIA驱动 CUDA 和 pytorch GPU 环境
  8. 常用Python模块下载网站
  9. 气象专业文件nc的读取、裁剪与输出(python)
  10. 什么是嵌入式操作系统?
  11. 关于Generator expression must be parenthesized  out报错或者Error creating Django application: Error on pyt
  12. nu.xom:Serializer
  13. 数据库DataBase
  14. 一文带你入坑全链路监控,skywalking
  15. Oracle递归查询的原理
  16. linux diff使用方法,Linux diff 使用教程
  17. 高晓松50岁生日感言:可感恩的很多,可原谅的很少
  18. UTL_FILE包详解
  19. 数据可视化应用到营销中的5个超酷案例
  20. OID 用于公共设备

热门文章

  1. 8086地址传送指令LEA,LDS,LES
  2. 《MySQL——增删改查以及常用语法》
  3. VS 如何修改C++编译标准
  4. operator.ne_Python operator.ne()函数与示例
  5. java uuid静态方法_Java UUID getLeastSignificantBits()方法与示例
  6. c# 可变二维数组_C#| 具有固定行大小和可变列大小的二维数组
  7. FreeRTOS在STM32F429上移植
  8. ret2libc过地址随机化
  9. linux查看网卡硬件 lsw,linux系统配置管理小测试试卷答案
  10. IDA——动态调试Linux上的ELF文件(整合他人博客)