>  기사  >  백엔드 개발  >  (8) 객체지향 설계 원칙 4

(8) 객체지향 설계 원칙 4

WBOY
WBOY원래의
2016-07-30 13:31:59832검색

하나. 대체 원칙:
1. 하위 클래스는 기본 클래스로 대체 가능해야 하며 상위 클래스가 나타날 수 있는 모든 곳에 나타나야 합니다.
2. LSP 원칙으로 해결해야 할 문제:
a. 상속을 올바르게 설계하는 방법
b. 최상의 상속 계층을 얻는 방법
c. OCP 원칙을 준수하지 않는 상황
3. 이 원칙을 준수하는 방법:
a. 상위 클래스의 모든 메소드는 하위 클래스에서 구현되거나 다시 작성되어야 하며, 파생 클래스는 선언된 메소드만 구현합니다. 추상 클래스에는 있지만 중복된 메서드 정의나 구현은 제공할 수 없습니다.
b. 클라이언트 프로그램에서는 상위 클래스 개체만 사용해야 하며 하위 클래스 개체는 직접 사용하면 안 됩니다. 이를 통해 런타임 바인딩이 가능해집니다. (동적 다형성)

2. 예:

<?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);
}

저작권 표시: 이 기사는 블로거의 원본 기사이므로 블로거의 허가 없이 복제할 수 없습니다.

이상 내용의 측면을 포함하여 네 번째 객체지향 설계 원칙(8)을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.