向上兼容和向下兼容

               
向上兼容(Upward Compatible)
向上兼容 (Upward Compatible),又称作 向前兼容 (Foreward Compatibility).在计算机中指在较低档计算机上编写的程序,可以在同一系列的较高档计算机上运行,或者在某一平台的较低版本环境中编写的程序可以在较高版本的环境中运行,都称为向上兼容,前者是硬件兼容,而后者是软件兼容,例如,基于 Intel386 的PC兼容机上所有的软件也可以运行在 486或更高 的机型上。向上兼容具有非常重要的意义,一些大型软件的开发,工作量极大,如这些软件都能做到兼容,则无需在其它机器上重新开发,就可节省庞大的人力和物力。
向下兼容(Downward Compatible)
   向下兼容 (Downward Compatibility),又称作 向后兼容 (Backward Compatibility)。在计算机中指在一个程序或者类库 更新到较新的 版本后,用 旧的版本程序 创建的文档或系统仍能被正常操作或使用,或在旧版本的类库的基础上开发的程序仍能正常编译运行的情况。例如较高档的计算机或较高版本的软件平台可以运行较为抵挡计算机或早期的软件平台所开发的程序,如基于 Pentium微处理器的PC兼容机 可以运行早期在 486 上运行的全部软件。向下兼容可以使用户在进行软件或硬件升级时,厂商不必为新设备或新平台从头开始编制应用程序,以前的程序在新的环境中任然有效。
   对于软件来说,向下兼容的意思是,较高版本的程序能顺利处理较低版本程序的数据。 拿著名的动画制作软件  Flash 的两个版本  Flash 5(老版本) 与  Flash MX 2004(新版本) 来说,这两个版本虽然保存出来的文件都是  .fla ,可是文件内容的结构有所不同。尽管如此, Flash MX 2004  仍然能处理  Flash 5  保存的 fla 文件,我们就说  Flash MX 2004 是向下兼容的
   但是由于考虑实际应用,不一定所有版本高的软件都能接受版本低的软件输出的东西,例如假设有一种软件 X,并假设现在已经有 10.0 版本了(这么快!!),那么版本旧得已经没有什么人用的 X 1.0 所输出的文件,就不太可能在 10.0 版本中顺利读取。
总结
向上兼容和向下兼容其实可以是对同一事情在两方面进行的不同描述而已。比如,我们针对 JDK1.4平台 开发的程序A能在 JDK1.5平台 上进行正常运行,那么此时我们就说 程序A 向上兼容 JDK1.5平台 ,而 JdK1.5平台 向下兼容 程序B
如果我们针对 JDK1.4平台 开发的 程序A 不能在 JDK1.5平台 上正常运行,那么此时我们就说 程序A 不向上兼容J DK1.5平台 ,而 JdK1.5平台 不向下兼容 程序B 。当然这种情况不发生。 JDK平台 向下兼容所有java程序
如果我们针对 JDK1.5平台 开发的 程序B 并没有使用 JDK1.5平台 的新特性而能在 JDK1.4平台 上正常运行,那么此时我们可以说: 程序B 向下兼容 JDK1.4平台 ,而 JdK1.4平台 向上兼容 程序B
如果我们针对 JDK1.5平台 开发的程序B因为使用 JDK1.5平台 的新特性或其他原因而不能在 JDK1.4平台 上正常运行,那么此时我们可以说: 程序B 不向下兼容 JDK1.4平台 ,而 JdK1.4平台 不向上兼容 程序B
           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/fjjjyf/article/details/86491806