一.替换原则:
1.子类必须能替换成它们的基类,并出现在父类能够出现的任何地方。
2.LSP原则所需要解决的问题:
a.正如何正确地进行继承方面的设计
b.最佳的继承层次如何获得
c.避免所设计的类层次陷入不符合OCP原则的状况
3.遵守此原则的方式:
a.父类的方法都要在子类中实现或重写,并且派生类只实现其抽象类中声明的方法,但不能给出多余的方法定义或实现。
b.在客户端程序中只应该使用父类对象而不应该直接使用子类对象。这样可以实现运行期绑定。(动态多态)
二.实例:
<?php abstract class Cache{ /* * 设置一个缓存变量 * * @param String $key 缓存key * @param mixed $value 缓存内容 * @param int $expire 缓存时间(秒) * return boolean 是否缓存成功 */ public abstract function set($key,$value,$expire=60); /* * 获得一个已经缓存的变量 * @param String $key 缓存key * @return mixed 缓存内容 */ public abstract function get($key); /* * 删除一个已经缓存的变量 * @return boolean 是否删除成功 */ public abstract function del($key); /* * 删除全部缓存变量 * @return boolean 是否删除成功 */ public abstract function delAll($key); /* * 检测是否已经存在对应的缓存 */ public abstract function has($key); }
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了(八)面向对象的设计原则之四,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。