沃梦达 / 编程问答 / php问题 / 正文

在什么情况下应该将类构造函数设为私有

Under what circumstances should we make a class constructor private(在什么情况下应该将类构造函数设为私有)

本文介绍了在什么情况下应该将类构造函数设为私有的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能的重复项:
In a PHP5 class, when does a private constructor get called?

我最近一直在阅读有关OOP的文章,遇到了这个私有构造函数场景。我在谷歌上搜索了一下,但找不到任何与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;
        }
    }
}

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

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

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

  • Are Singletons really that bad?

  • What is so bad about singletons?

这篇关于在什么情况下应该将类构造函数设为私有的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在什么情况下应该将类构造函数设为私有

基础教程推荐