一.替換原則:
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教程有興趣的朋友有所幫助。