Php class abstraction
<p>I found a simple class, the follow:</p>

<pre><code>abstract class SingleTon {
    /**
     * Prevents direct creation of object.
     *
     * @param  void
     * @return void
     */
    final protected function __construct() {}

    /**
     * Prevents to clone the instance.
     *
     * @param  void
     * @return void
     */    
    final protected function __clone() {}

    /**
     * Gets a single instance of the class the static method is called in.
     *
     * See the {@link http://php.net/lsb Late Static Bindings} feature for more
     * information.
     *
     * @param  void
     * @return object Returns a single instance of the class.
     */
    final static public function getInstance(){
        static $instance = null;

        return $instance ?: $instance = new static;
    }
}
</code></pre>

<p>the question is, is there a sense to use <code>abstract class SingleTon</code> instead of <code>class SingleTon</code> ? I mean...</p>

<p>As you can see the <strong>_<em>construct</strong> is protected and <strong></em>_clone</strong> too. As far I understand what "abstract" means for me is pointeless to use abstract because I already cannot instantiate the class, no?</p>
