首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

里氏轮换原则

2012-11-06 
里氏替换原则?里氏替换原则1 继承的好与坏???? 1 好处??????????????? 代码共享,减少创建类的工作量,提高

里氏替换原则

?里氏替换原则1 继承的好与坏???? 1 好处

??????????????? 代码共享,减少创建类的工作量,提高代码的重用性,提高代码的扩展性

????? 2 坏处

???????????????? 继承是侵入性的。降低了代码的灵活性,子类受到父类的约束。增强了耦合性,当修改父类时,要考虑子类的? 修改。

?

?

2? 怎么缩小继承所带来的弊端

??????? 解决方案:里氏替换原则。

??????? 定义:多有引用基类的地方必须能透明地使用其子类的对象。(只要父类能出现的地方子类就可以出现,而且替换子类也不会产生任何错误和异常)

?

?

4 引申的四个规则???? 1 子类必须完全实现父类的方法

???????????里氏轮换原则

?

?

???? 解决办法:

????

?里氏轮换原则

???? 2 子类可以有自己的个性

?????????? ?因为有这个规则,里氏替换原则不能反过来使用,在子类出现的地方,父类不一定可以胜任。有可能会出现ClassCastException。

?

?????3 覆盖或者实现父类的方法的时候输入的参数可以被放大

?????????? 当子类的方法参数比父类的范围大的时候,如(子类方法参数是:Map,父类方法参数是:HashMap),这个时候构成了方法重载,而这样不会影响里氏替代原则。

?

??????4 覆盖或者实现父类的方法的时候返回结果可以缩小

????????? 如(父类方法是:返回Map,子类返回HashMap),这样我们调用的时候,不会违背里LSP原则。通常这样会是方法的重写。

?总结

????? 采用里氏替代原则可以增强程序的健壮性,版本升级的时候可以保持非常好的兼容性,即使增加子类,原有的子类也可以继续运行。

热点排行