私が持っている場合:
abstract class AbstractSingleton
{
protected static $instance;
public static function & getInstance()
{
if(null === static::$instance) static::$instance = new static();
return static::$instance;
}
protected function __construct() { }
}
クラスを拡張するユーザーは、の可視性を再定義できます__construct
か?
class Singleton extends AbstractSingleton
{
public function __construct() { } // That would be a problem
}
__construct
2 つ目の質問ですが、AbstractSingleton でプライベートとして定義されている場合、サブクラスはどうなりますか? コンストラクターがまったくないのですか?クラスに新しいデフォルト コンストラクターが提供されていますか。提供されている場合、どのような可視性がありますか?