谈谈对Java中接口(interface)的理解

一、先说说面向对象基本概念:

Java是一个面向对象的语言,其中的【对象】就相当于现实生活中的具体的例子,但【类】相当于一种抽象的模板,把抽象概念模板转化成具体的例子的过程就是【实例化】。

  • Example is as follows.

人这个概念就是一个抽象化的【类】,中国人、法国人、英国人、美国人等即是由人这个【类】具体化而来的【对象】。

再如电子产品这个概念也可以看成是一种抽象化的【类】,而手机、冰箱、电视、电脑等可看作是由电子产品这个【类】具体化产生的一个个具体的【对象】。

如图:

Summary:

【对象】是具体的例子,类是抽象的模板。咱们把同类事物所共有的特征抽取出来,进而产生【类】这个概念。

面向对象优点:

有了【类】这个概念,我们就可以大大提高代码的重用性,也就是说,只要我们先制作好了某一类事物的模板,下次再创建同类的事物的时候,只要调用这个类进行创建,而不用再从头开始一步步进行创建,从而省去了大量的重复步骤。

二、面向对象中的继承

这里我直接举例吧。

我们可以从英国人、法国人、中国人、日本人等这些概念中抽象出【人类】这一概念,也可以从麻雀、燕子、喜鹊等这些概念中抽象出【鸟类】这一概念。

接下来,我们可以把抽象过程继续下去,把【人类】和【鸟类】这2个概念中抽象出【动物】这一概念。由此,我们可以说,【人类】和【鸟类】是对各自代表的具体对象的一次抽象,【动物】是对【人类】和【鸟类】的一次抽象。综合起来就是,【动物】这个概念是对【人类】和【鸟类】各自代表的具体对象的二次抽象。

如图:

在Java语言中,如果我们对某一类事物进行了一次抽象,那么就称这种被抽象出来的概念为:类(class)。我们之前对这种被抽象过的概念进行二次抽象之后,一个新的概念出现了,即:父类(superclass),此时被父类直接抽象的那部分概念被称为:子类(subclass)。

三、面向对象中的接口

之前谈到子类和父类的概念,这次来谈谈新的概念,即【接口】。

如何理解接口这一概念呢?

我们在编写程序的时候,有时候会有一些想法或【规矩】,我们希望自己编写的类能够遵守某些【规矩】。有时候,我们希望某个类中必须要有某些功能,比如,我们创建了一个【手机类】和【汽车类】,那么我们就希望所有的【手机类】、【汽车类】在创建的时候能够遵守这样一些规矩:

【手机类】                                                                                          【汽车类】

1、必须有品牌属性(property/field)                                                        1、必须有品牌属性

2、必须有型号属性(property/field)                                                        2、必须有车型属性

3、必须有通话功能(Method)                                                                 3、必须有行驶功能

4、必须有消息发送功能(Method)                                                          4、必须有刹车功能

以上这些规矩就是我们在创建类的时候必须遵守的,那么我们就可以将这些指导类的创建的规矩放在一个新的框架中,这个框架在Java中就是【接口】,以后当我们想创建一个符合这些规矩的类的时候,就需要先引用这些【接口】

猜你喜欢

转载自blog.csdn.net/qq_47610562/article/details/113101263