一.替换原则:
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);
}版权声明:本文为博主原创文章,未经博主允许不得转载。
ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体验和易用性,并且拥有众多的原创功能和特性,为WEB应用开发提供了强有力的支持。 3.2版本则在原来的基础上进行一些架构的调整,引入了命名空间支持和模块化的完善,为大型应用和模块化开发提供了更多的便利。
以上就介绍了(八)面向对象的设计原则之四,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。









