java的interface作用_Java 接口(interface) 和 抽象类 的用途和好处

为什么interface叫做接口呢? 跟一般范畴的接口例如usb接口, 显卡接口有什么联系呢?

这个例子比喻的不错

接口为什么会被叫做接口, 跟真正的接口例如usb接口有联系吗?

对啊, 为什么叫接口, 而不叫插件(plugin)呢, 貌似java接口的功能更类似1个插件啊.

插上某个插件, 就有某个功能啊.

实际上, 插件与接口是相辅相成的.

例如有1个外部存储插件(U盘), 也需要使用设备具有usb接口才能使用啊.

再举个具体的例子.

个人电脑是由大型机发展而来的

大型机->小型机->微机(PC)

而笔记本是继承自微机的.

那么问题来了.

对于, 计算机的CPU/内存/主板/独显/光驱/打印机 有很多功能(方法/行为), 那么到底哪些东西是继承, 哪些东西是接口呢.

首先, cpu/内存/主板 是从大型机开始都必备的, 任何计算机都不能把它们去掉.

所以, 这三样东西是继承的, 也就说笔记本的cpu/内存/主板是继承自微机(PC)的

但是/光驱/呢, 现实上很多超薄笔记本不需要光驱的功能.

如果光驱做成继承, 那么笔记本就必须具有光驱, 然后屏蔽光驱功能, 那么这台笔记本还能做到超薄吗? 浪费了资源.

所以光驱,打印机这些东西就应该做成插件.

然后, 在笔记本上做1个可以插光驱和打印机的接口(usb接口).

也就是说, PC的派生类, 有些(笔记本)可以不实现这个接口, 有些(台式机)可以实现这个接口,只需要把光驱插到这个接口上.

至于光驱是如何实现的,

例如一些pc派生类选择实现蓝光光驱, 有些选择刻录机. 但是usb接口本身并不关心. 取决与实现接口的类.

这个就是现实意义上的多态性啊.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值