[javaSE] 单例设计模式详解编程语言

四人帮设计了23中设计模式

单例设计模式:解决一个类在内存中只存在一个对象

 

构造函数私有化

在类中创建一个本类对象

提供一个方法可以获取该对象

class Single{ 
    private static Single single; 
    public int num=1; 
    private Single(){ 
    } 
    public static Single getInstance(){ 
        if(single==null){ 
            single=new Single(); 
            System.out.println("对象只有一个"); 
        } 
        return single; 
    } 
} 
public class SingleDemo { 
    /** 
     * @param args 
     */ 
    public static void main(String[] args) { 
        Single s1=Single.getInstance(); 
        s1.num=2; 
        Single s2=Single.getInstance();//只输出一次 "对象只有一个" 
        System.out.println(s2.num);//此时输出2 说明是同一个对象 
         
    } 
 
}

PHP版:

<?php 
class Single{ 
    private static $single; 
    public $num=1; 
    private function __construct(){ 
 
    } 
    public static function getInstance(){ 
        if(Single::$single==null){ 
            Single::$single=new Single(); 
            echo "对象只有一个"; 
        } 
        return Single::$single; 
    } 
    /*覆盖PHP的魔术方法*/ 
    private function __clone(){ 
 
    } 
 
} 
class SingleDemo{ 
    public static function main(){ 
        $obj1=Single::getInstance(); 
        $obj1->num=2; 
        $obj2=Single::getInstance();//只输出一次 "对象只有一个" 
        echo $obj2->num;// 此时输出2 说明是同一个对象 
    } 
} 
 
SingleDemo::main();

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/industrynews/12667.html

(0)
上一篇 2021年7月19日 14:51
下一篇 2021年7月19日 14:51

相关推荐

发表回复

登录后才能评论