根据PHP手册,这样的类:
abstract class Example {}
Run Code Online (Sandbox Code Playgroud)
无法实例化.如果我需要一个没有实例的类,例如注册表模式:
class Registry {}
// and later:
echo Registry::$someValue;
Run Code Online (Sandbox Code Playgroud)
简单地将类声明为抽象是否会被认为是好的风格?如果没有,与抽象类相比,隐藏构造函数作为受保护方法有什么好处?
问的理由:据我所知,它可能会有一些功能滥用,因为手册将抽象类更多地描述为具有实例化可能性的后续类的蓝图.
更新:首先,感谢所有的答案!但是很多答案听起来很相似:'你不能实例化一个抽象类,但对于注册表,为什么不使用单例模式?'
不幸的是,这或多或少完全是我的问题的重复.使用单例模式(也就是隐藏)与仅仅声明它而不必担心它相比有什么优势?(例如,开发人员之间的强烈内涵,实际上并没有使用类.)__construct()abstractabstract