码迷,mamicode.com
首页 > 其他好文 > 详细

里氏代换原则等

时间:2014-06-14 13:48:59      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:blog   java   http   com   get   width   

     《Java与模式》读书笔记。

      里氏代换原则

      里氏代换原则(LSP)简言之就是基类的属性方法一定是适应于子类的,反之则不然。

      在编译期,Java编译器就会检查程序是否是符合里氏代换原则,不符合就不能通过。违反里氏代换原则的一个例子就是子类试图将基类中的public方法覆盖为private方法,是编译不过的,子类中接口的使用范围只能更广。

      Java编译器检查程序是否是符合里氏代换原则是有限的,实现层次和逻辑层次是无法判断的。

      Java API中也有违反里氏代换原则的例子,Properties继承自Hashtable。Properties假设key和value都是String型的,而Hashtable中的key和value都是Object型的,适用于Hashtable不一定就适用于Properties。

      Properties ps = new Properties();

      ps.setProperty("123", "111");

      ps.put("123", 111);    //从Hashtable中继承
      System.out.println(ps.getProperty("123"));   //返回结果null

      对于违反里氏代换原则可以做如下的处理。

      bubuko.com,布布扣

里氏代换原则等,布布扣,bubuko.com

里氏代换原则等

标签:blog   java   http   com   get   width   

原文地址:http://www.cnblogs.com/lnlvinso/p/3788073.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!