• 接口的作用


    接口的作用就是把使用接口的人和实现接口的人分开,实现接口的人不必要关心谁去使用,而使用接口的人也不用关心谁实现的接口,由接口将他们联系在一起。以上像一段绕口令,那么通过下面的几段程序解释: 
    1、以生产和使用一台计算机为例,首先,我们定义了一个显卡的接口,他里面有显示功能和获取显卡名称的功能: 
    interface VidioCard 
    { 
      void display(); 
      String getName(); 
    } 
    2、显卡的生产者来了,他必须实现接口中定义的所有方法,也可以自己增添若干方法: 
    class HaolongVidio implements VidioCard 
    { 
    
      String name="Haolong's vidiocard"; 
    
      void setName(String name){ 
        this.name=name; 
      } 
      
      public void display(){ 
        System.out.println("The Haolong's vidiocard is running!!"); 
      } 
    
      public String getName(){ 
        return name; 
      } 
    }
    显卡制造商生产出了显卡,并且通过setName方法贴上了自己的商标,而通过getName方法可以让使用者知道这块显卡的制造商。 
    3、现在显卡已经生产出来了,但是我们还需要一块主板,把生产出来的显卡插到主板上才能够使用,那么我们去买主板: 
    class MainBorad 
      { 
        String cpuname; 
        VidioCard vc; 
        void setCPU(String cpuname){ 
        this.cpuname=cpuname; 
      } 
    
      void setVidioCard(VidioCard vc){ 
        this.vc=vc; 
      } 
    
      void run(){ 
        System.out.println("wudi-mainbord!"); 
        System.out.println(vc.getName()); 
        vc.display(); 
        System.out.println("mainbord is running successful!"); 
      } 
    } 
    这是主板厂商生产的主板,这也就是我们所说的接口的使用者,在他生产主板的时候并不知道用户使用的是哪块显卡(程序中这样理解:Mainborad这个类只知道接口VidioCard中有哪些方法
    ,但是并不知道接口的实现类HaolongVidio是怎么去实现接口的,也就是生产主板的厂商并没有必要考虑显卡是哪个厂商的,他要做的只是根据接口把显卡插槽做好,接口里没有实现的方法相当于插槽),
    但是他留出来了显卡的插槽(插槽就是接口),也就是他不关心谁实现的接口,但是他可以使用接口,预留出显卡的插槽让用户去选购显卡。 4、现在我们用户开始组装计算机了: public class ChengDuActor {   public static void main(String [] args){     HaolongVidio hv=new HaolongVidio();//买了一块HaolongVidio显卡     MainBorad mb=new MainBorad();//买了一块主板     mb.setCPU("Intel");//买的是Inter主板     mb.setVidioCard(hv);//把HaolongVidio插到主板上(通过主板上setVidio方法)     //System.out.println(hv.getName());     mb.run();//开电脑运行     System.out.println("success");   } } 以上看出接口的作用就是大力实现了java的开源性,使软件开发过程优化,接口重要的特征是实现了多样性,能够很好地解决C++中遗留的多继承中出现的问题。
  • 相关阅读:
    L309 单音节词读音规则(一)-辅音字母发音规则
    L308 New brain cells made throughout life
    L306 词汇题
    L305 发邮件15分钟
    L304 What Is Death?
    2019.3.22 Week 11 : ZigBee power test and field test
    L302 如何避免秃头
    2019.3.22 Week 12 : ZigBee and T/H chamber test
    L300 3月英语课下
    Pycharm使用方法之调整代码字体大小
  • 原文地址:https://www.cnblogs.com/frankchia/p/6257862.html
Copyright © 2020-2023  润新知