菜单

单例方式

2019年2月16日 - Java

单态

单例,单例形式

#import <Foundation/Foundation.h>

@interface Student : NSObject
@property(retain,nonatomic)NSString *name;
@property(assign,nonatomic)int age;


//设计单利模式
//+(类名*)shareXXX
//        defaultXXX
//        xxx
+(Student *)shareStudent;


@end

#import "Student.h"
@implementation Student
+(Student *)shareStudent
{
    //被static修饰的变量只会被初始化一次
    static Student *stu=nil;
    if (stu==nil) {
        //如果学生对象为空,就初始化学生对象
        stu=[[Student alloc]init];
    }
    return stu;

}
@end


#import <Foundation/Foundation.h>
#import "Student.h"
int main(int argc, const char * argv[])
{

    @autoreleasepool {

        //调用单例方法
        //通过调用单例方法,返回的为同一个对象
        //Student *stu=[Student shareStudent];是单例模式的创建对象的方法
     Student *stu=[Student shareStudent];
     stu.name=@"xiaowang";

     Student *stu2=[Student shareStudent];
     NSLog(@"%@", stu2.name);




    }
    return 0;
}

 

http://www.bkjia.com/IOSjc/994589.htmlwww.bkjia.comtruehttp://www.bkjia.com/IOSjc/994589.htmlTechArticle单例,单例模式 #import Foundation/Foundation.h
@interface Student :
[email protected](retain,nonatomic)NSString
* name;@property(assign,nonatomic) int age; // 设计单利形式…

 1 <?php 
 2 //单例
 3 class Db{
 4     //创建静态私有的变量保存该类对象
 5     static private $instance;
 6     //参数
 7     static private $config;
 8     //防止直接创建对象
 9     private function __construct($config){
10         self::$config = $config;
11         echo 'new obj';
12     }
13     //防止克隆对象
14     private function __clone(){
15         return false;
16     }
17     static public function getInstance($config){
18         //判断$instance是否是Uni的对象
19         if (!self::$instance instanceof self) {
20             //没有则创建
21             self::$instance = new static($config);
22         }
23         return self::$instance;
24         
25     }
26     public function getConfig(){
27         return $this -> config;
28     }
29 }
30 $data = Db::getInstance(1);
31 var_dump($data -> getConfig());
32 ?>

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图