当我们应该将构造函数设为 Private &为什么?PHP

2021-12-30 00:00:00 oop constructor php

可能的重复:
在 PHP5 类中,私有构造函数什么时候出现被叫?

我最近一直在阅读有关 OOP 的文章,并遇到了这个私有构造函数场景.我进行了 Google 搜索,但找不到与 PHP 相关的任何内容.

I have been reading about OOP recently and came across this private constructor scenario. I did a Google search, but couldn't find anything relevant to PHP.

在 PHP 中

  • 我们什么时候必须定义私有构造函数?
  • 使用私有构造函数的目的是什么?
  • 优点和优点是什么?使用私有构造函数的缺点?

推荐答案

我们什么时候必须定义私有构造函数?

class smt 
{
    private static $instance;
    private function __construct() {
    }
    public static function get_instance() {
        {
            if (! self::$instance)
                self::$instance = new smt();
            return self::$instance;
        }
    }
}

使用私有构造函数的目的是什么?

它确保一个类只能有一个实例,并提供对该实例的全局访问点,这在单例模式中很常见.

It ensures that there can be only one instance of a Class and provides a global access point to that instance and this is common with The Singleton Pattern.

优点是什么?使用私有构造函数的缺点?

  • 单身真的有那么糟糕吗?

单身有什么不好?

相关文章