葵花宝典读书笔记-接口

接口,英文interface,拆开看就是inter 和 face

inter 有互相的意思,其含义强调两方的交互。

face 面,对应的是点和线。很形象的体现了功能的多样性。可以看作是多个功能点的集合组成的一个功能面,通过它可以与多个功能点进行交互。但是功能点有很多,哪些才是属于一个面的?接口的定义是:接口是一组相关的交互功能点定义的集合。这就解释了如何去划分哪些功能点是一个面的。

接口强调的是双方的交互,如果只有一方,那么就不是交互了,也就不存在接口。

接口的功能点只是定义,不涉及具体的实现。USB接口可以接键盘、鼠标、散热风扇等,只要设备符合USB的协议标准,那么都可以对接USB接口。

有了类之后为什么还要有接口?

例如,你想操作人的时候用Person,想操作猪的时候用Pig。但是有时你可能不知道操作的对象具体是什么,仅知道他能干什么。那么只要实现了接口的类,无论它是什么类,他都有统一的行为。就可以操作它,而不必知道它到底是什么,只需关心它有没有提供符合接口的功能。

原文地址:https://www.cnblogs.com/mysic/p/8449680.html

时间: 2024-10-10 17:43:04

葵花宝典读书笔记-接口的相关文章

读书笔记——接口

1.抽象类 包含抽象方法的类叫做抽象类,可以包含一个或多个抽象方法.为抽象类创建对象是不安全的行为. 2.接口 Interface这个关键字产生一个完全抽象的类.要让一个类遵循某个特定的接口,需要使用一个特定的关键字——implements.接口中的方法必须被定义为public,默认也是public. 3.完全解耦 策略设计模式:创建一个能够根据所传递的参数对象的不同而具有不同的行为的方法.

EffectiveJava读书笔记——接口优于抽象类

9%E5%A5%97Android%E5%AE%9E%E6%88%98%E7%BB%8F%E5%85%B8%E9%A1%B9%E7%9B%AE%E8%B5%84%E6%96%99%E5%88%86%E4%BA%AB%E7%BB%99%E5%A4%A7%E5%AE%B6 ????cImbiUMM???]?????? http://auto.315che.com/weidalaisi/qa23802422-2.htm ??????jbGbY735????????? ????\c7SOSF7P??иб

葵花宝典读书笔记-面向过程

面向过程是一种以"过程"作为中心的编程思想,"过程"就是"完成一件事的步骤".面向过程是一种"机械的思想",就像流水线一样,一个阶段衔接一个阶段,环环相扣.每个阶段都有自己的输入.处理.输出的步骤.运用面向过程方法时也要设计这样一条流水线:将程序划分为不同的阶段,设计好个个阶段如何衔接,定义好每个阶段要处理的数据. "程序=算法+数据结构" 这个总结正好契合机械化的特征.计算机本质上是一台机器,其核心CPU

葵花宝典读书笔记-为什么要面向对象

面向过程和计算机如影随形,从计算机诞生之日起,面向过程一直占主导地位.C语言.操作系统.协议栈.驱动系统.都是面向过程的代表. 为什么会有面向对象诞生并流行呢?面向过程是可以看作是流水线,那么流水线有个缺点:流水和原料是相对固定的,扩展起来很麻烦.比如啤酒生产线,操作的原来是啤酒原料,生产的步骤是生产啤酒的步骤,如果现在要生产醋,那么就得修改流水线上的设备和生产流程,或引进一条新的流水线.前面说过,面向过程设计解决了面向机器的复杂性问题,面向对象则解决的是扩展性和可维护性问题. 工业上,对生产线

葵花宝典读书笔记-面向对象

面向对象编程思想不再局限于计算机本质,更侧重于对现实世界的模拟.对现实世界模拟的思想,本质就是人的思想. 在面向过程中,有一个类似于中央控制器的角色统一调度.面向对象中,没有这样的角色,也不指定严格的操作顺序,而是设计了许多对象,指定这些对象需要完成的任务,以及这些对象如何对外界的刺激作出反应. 如果说面向过程像一条生产流水线,那么面向对象就像一个足球队.每个球员有自己的行为和自己的特长.没有那个人可以从比赛的开始,就可以规划每个球员的每一步走位.出脚.传球....而是只能指定每个球员的角色(前

葵花宝典读书笔记-面向对象的应用范围

1.能做什么? 面向对象的核心是"可扩展性".因此,经常变化的地方就是面向对象应用的地方. 软件系统中,经常变化的地方主要集中在客户需求部分,不变的一般都属于计算机系统的基础. 2.不能做什么? 从上图可以看到"可扩展性"只占软件质量属性中的一小部分,其他部分都是不面向对象可以解决的.因此明白了面向对象的特点,是应用面向对象的关键. 面向对象不是瑞士军刀,只是普通的锤子而已,不要尝试所有的问题都用面向对象的思想去解决. 原文地址:https://www.cnblog

葵花宝典读书笔记-面向对象的迷思

从语言层面的处理机制上讲,面向对象的方式肯定比面向过程的方式效率要低一些.所以,对性能要求高的,例如操作系统.驱动程序.网络设备程序都是由C语言编写的.(C语言虽然提供的编程模式是面向过程的,但是同样可以以面向对象的思想来写程序,只是它没有太多机制支持面向对象方式编写程序,不是很方便而已.) 很多人认为面向对象的效率会导致性能很差,经常用C语言和JAVA语言做比较来说明观点. 程序系统的运行效率更大的取决于设备的IO速度. CPU:每秒10亿次,性能是纳秒级 内存:每秒1000万次,每次请求时间

葵花宝典读书笔记-类

一,类的定义 类是一组相似事物的统称 "一组"  在于多个,单个事物无法成为一个类."人"可以是一个类,但"我"就不是一个类. "相似" 比较像,但不完全相同.奥巴马,克林顿都是人类,但他们并不是相同的一个人. "统称" 具有概括性.奥巴马.克林顿可以统称为人.男人.动物.总统.但不会统称为奥巴马,因为奥巴马是具体的一个人. 二,如何划分类 角度决定看法.如何划分类,要看所站的角度. 你.我.猪.鱼.松树

葵花宝典读书笔记-对象

对象就是一个具体的类,就是一个类的实现. 对象是客观存在的,世界万物皆对象.人类为了归纳,总结,而把具有相似性的对象归类到一个类中.真正存在于软件运行过程中的是对象,而不是类. 软件对象产生的过程: 现实对象->现实类->软件类->软件对象 "软件类来源于现实类,但高于现实类"这句话的意思是.软件类不一定在现实中就存在对应的现实类.大多数软件类抽象于现实类,但他们之间并非一一对应,一个现实类可能对应多个软件来.例如:ATM是一个现实中的类,转化成软件类后就有"