面向接口编程

举报
魏铁锤 发表于 2023/03/12 23:29:59 2023/03/12
【摘要】 接口表示一种能力体现在接口的方法上面向接口编程关心实现类有何能力,而不关心实现细节面向接口的约定而不考虑接口的具体实现 解析:接口在这里边其实,他仅主要表示一种能力,这种能力主要体现在接口的方法,方法就描述了接口能够实现的功能,但是呢,他没有任何的实现,这样的话就需要在实现类里面去实现接口中的方法,完成具体的功能,我们在实际开发的时间经常需要使用,面向接口这种编程思想进行编程,我们通常在定义...

接口表示一种能力

  • 体现在接口的方法上

面向接口编程

  • 关心实现类有何能力,而不关心实现细节
  • 面向接口的约定而不考虑接口的具体实现

解析:

  • 接口在这里边其实,他仅主要表示一种能力,这种能力主要体现在接口的方法,方法就描述了接口能够实现的功能,但是呢,他没有任何的实现,这样的话就需要在实现类里面去实现接口中的方法,完成具体的功能,我们在实际开发的时间经常需要使用,面向接口这种编程思想进行编程,我们通常在定义接口时只关心实现类有何能力,就是能够做什么,而不关心具体实现,只描述它能够做什么,面向接口的约定,而不考虑接口的具体实现。
    接口与抽象类的区别
  • 相同点
  • 都表示抽象特征
  • 都不能被实例化
  • 不同点
  • 接口只能定义抽象方法,抽象类可以有实现方法
  • 接口中不能有构造方法,抽象类可以有
  • 一个类可以实现多个接口,但只能继承一个抽象类

解析:

  • 接口,我们可以把它理解成是比抽象类更抽象的一种类型,那么他和抽象类之间呢,有很多相似的部分,第一个相同点,都表示抽象的特征,第二个是都不能够被实例化,不同点呢,接口当中只能定义抽象方法,抽象类中呢,可以定义抽象方法,也可以定义实例方法,第二个不同点,接口中不能有构造方法,但抽象类里可以有,第三个,区别不同点,一个类可以实现多个接口,但只能继承一个抽象类,这是接口和抽象类的区别我们,在面试的时间是经常问到的一个面试问题。

面向接口编程

案例:实现防盗门功能

  • 防盗门是一个门 is a的关系
  • 防盗门有一个锁 has a的关系
  • 上锁
  • 开锁

分析:

  • 接下来我们就采用面向接口编程思想,来,再看一个案例,实现防盗门的功能,防盗门,是一个门,我们通过is a去判断防盗门是不是门,是,我们就可以实现继承,防盗门,有一个锁,has a关系就是有没有拥有,那上锁和开锁的能力,我们通过这个类的关系图,可以看到门拥有开和关的能力,开关接口呢,上锁和开锁,一个实现防盗门,防盗门即继承了门又实现了接口,如何来实现这个功能呢,首先我们去定义一个类,这个类就是到门,我们定义成抽象类,定义抽象方法必须要加Abstract接口当中这两个可以省略,抽象内容呢,这两个属性,这两个关键词必须要加上去才表示抽象的行为。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。