java java面向对象-面向接口编程思想

原创 2018年04月16日 19:19:30

20180407 java java面向对象-面向接口编程思想



面向接口编程好处:
充分体现了多态性,把实现类对象赋给接口类型变量,屏蔽了不同实现类之间的实现差异,从而可以做到通用编程。




案例:使用USB设备来工作。




不用接口的情况:


//鼠标
class Mouse
{
  public void swapData()
  {
    System.out.println("鼠标在移动...");
  }
}




//打印机
class Print
{
  public void swapData()
  {
    System.out.println("打印中...");
  }
}






//主板(又叫母板):鼠标和键盘等都会插入到主板中。
class MotherBoard
{


  //把设备插入到主板中
  public static void plugIn(Mouse m)//把鼠标对象插入到主板中
  {
    m.swapData();
  }
}








class USBDemo
{
  public staic void main(String[] args)
  {
    //创建鼠标对象
    Mouse m= new Mouse();
    MotherBoard.plugIn(m);    
    //安装打印机
    MotherBoard.plugIn(new Print());//报错
  }
}




用接口的情况:


//指定USB规范
Interface IUSB
{
  void swapData();
}




//USB版本的鼠标
class Mouse implements IUSB //让鼠标遵循IUSB规范
{
  public void swapData()
  {
    System.out.println("鼠标在移动...");
  }
}




//USB版本的打印机
class Print implements IUSB //让打印机遵循IUSB规范
{
  public void swapData()
  {
    System.out.println("打印中...");
  }
}




//主板(又叫母板):鼠标和键盘等都会插入到主板中。
class MotherBoard
{


  //把设备插入到主板中
  public static void plugIn(IUSB usb)//把鼠标对象插入到主板中,即接受一切IUSB类型的对象
  {
    usb.swapData();
  }
}


class USBDemo
{
  public staic void main(String[] args)
  {
    //创建鼠标对象
    Mouse m= new Mouse();
    MotherBoard.plugIn(m);    
    //安装打印机
    MotherBoard.plugIn(new Print());//不报错
  }
}










































































JAVA面向接口的编程思想与具体实现

面向对象设计里有一点大家已基本形成共识,就是面向接口编程,我想大多数人对这个是没有什么觉得需要怀疑的。         问题是在实际的项目开发中我们是怎么体现的呢? 难道就是每一个实现都提供一个接口就...
  • u013112745
  • u013112745
  • 2014-01-08 15:45:15
  • 1808

面向接口编程思想(转)

http://www.cnblogs.com/Gavinzhao/archive/2009/11/10/1599700.html 本文基于署名-非商业性使用 3.0许可协议发布,欢迎转载,演...
  • basycia
  • basycia
  • 2016-07-31 22:54:13
  • 1315

面向接口、对象、方面编程区别

面向接口编程、对象编程、方面编程的区别
  • tengdazhang770960436
  • tengdazhang770960436
  • 2016-03-30 20:33:21
  • 1556

【java初学者】理解,从面向过程 到 面向对象,面向接口,面向切面

本文章适合初学者,主要是整理清楚,java , 从面向过程 到 面向对象,面向接口,面向切面。 假如我们正在建立一栋别墅。 过程:搅拌水泥,拉砖头,请工人,粉刷墙壁等等,一系列非常 琐碎的事情, 对象...
  • ssh159
  • ssh159
  • 2016-09-12 20:47:27
  • 2080

为什么有人说面向对象编程就是面向接口编程?

"面向对象编程就是面向接口编程" 这句话相信, 很多人都在网上见过, 装b利器. 我一开始也是这么想的, 那些装b者丢下这一句, 就没下文了. 首先, 我认为这句话是1个假命题. 但是, 这句...
  • nvd11
  • nvd11
  • 2015-01-01 00:52:36
  • 2589

Java面向对象编程思想

  • 2010年10月17日 20:37
  • 1.4MB
  • 下载

面向对象书籍经典编程思想

  • 2009年03月15日 23:32
  • 11.53MB
  • 下载

浅谈依赖注入思想与面向接口编程

依赖注入(Dependency Injection) 今天我们讨论的内容核心是面向接口编程,我决定还是要从依赖注入开始讲起,因为DI的思想可以说是面向接口编程思想的特殊表现,也可以说是与面向接口...
  • u011363981
  • u011363981
  • 2017-01-07 15:21:49
  • 1102

java面向对象的编程思想

编程思想: c语言:面向过程 设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制) 更加专注于HOW ...
  • believe__yourself
  • believe__yourself
  • 2015-07-11 15:35:31
  • 498
收藏助手
不良信息举报
您举报文章:java java面向对象-面向接口编程思想
举报原因:
原因补充:

(最多只允许输入30个字)