Heim  >  Artikel  >  Backend-Entwicklung  >  (8) Objektorientiertes Designprinzip vier

(8) Objektorientiertes Designprinzip vier

WBOY
WBOYOriginal
2016-07-30 13:31:59829Durchsuche

eins. Ersetzungsprinzipien:
1. Unterklassen müssen durch ihre Basisklassen ersetzbar sein und überall dort erscheinen, wo die übergeordnete Klasse erscheinen kann.
2. Probleme, die durch das LSP-Prinzip gelöst werden müssen:
Wie man die Vererbung richtig gestaltet
Wie man die beste Vererbungshierarchie erhält
c eine Situation, die nicht den OCP-Prinzipien entspricht
3. Möglichkeiten zur Einhaltung dieses Prinzips:
a. Alle Methoden der übergeordneten Klasse müssen in der Unterklasse implementiert oder neu geschrieben werden, und die abgeleitete Klasse implementiert nur die deklarierten Methoden in seiner abstrakten Klasse, es können jedoch keine redundanten Methodendefinitionen oder Implementierungen angegeben werden.
b. In Client-Programmen sollten nur übergeordnete Klassenobjekte und nicht direkt Unterklassenobjekte verwendet werden. Dies ermöglicht die Laufzeitbindung. (Dynamischer Polymorphismus)

2. Beispiel:

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

Copyright-Erklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.

Das Obige hat das vierte objektorientierte Designprinzip (8) eingeführt, einschließlich inhaltlicher Aspekte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn