问答详情
源自:5-3 [php]单例模式

单例模式中,保存对象的属性应该是私有的,静态的属性

Rango,你好,你的单例模式中,保存对象的属性,设置有错,不能设置为普通属性,至少应该确保为静态属性,其次如果设置为protected权限,那么他的继承类就可以修改他了,我觉得不好。

此外,还应该创建__clone()方法防止对象被复制。

以上是我的个人观点,不知是否没有理解你的用意,希望可以解答下。谢谢

提问者:丑九怪 2015-02-06 10:44

个回答

  • 野生的程序猿一只
    2018-06-27 19:28:23

    标准的单例模式:

    @Data

    public class EagleDeviceInfo {

    private String IP;

    private String port;

    private EagleDeviceInfo() {

    }

    private static EagleDeviceInfo deviceInfo;

    public static EagleDeviceInfo getInstance(){

    if(deviceInfo==null)

    deviceInfo = new EagleDeviceInfo();  

    return deviceInfo;

    }

    }

  • 野生的程序猿一只
    2018-06-27 19:20:06

    今天感觉不对,同一个对象的属性为什么要保持静态特性

  • 老油条007
    2015-12-24 14:45:36

    有同感,防止外部拷贝对象