欢迎光临散文网 会员登陆 & 注册

unity - 饿汉单例与懒汉单例的实现与特性讲解

2023-06-12 13:07 作者:尘风一枚  | 我要投稿

#饿汉单例


using System.Collections;

using System.Collections.Generic;

using UnityEngine;


/// <summary>

/// 饿汉单例

/// </summary>

public class HungryManSingleton : MonoBehaviour

{

private static HungryManSingleton Singleton;

public static HungryManSingleton Instance { get => Singleton; }


public string csName;


private void Awake()

{

if (Singleton == null)

{

Singleton = this;

}

else

{

Destroy(this.gameObject);

}

}

}


#懒汉单例


using System.Collections;

using System.Collections.Generic;

using UnityEngine;


/// <summary>

/// 懒汉单例

/// </summary>

public class SlackerSingleton : MonoBehaviour

{

private static SlackerSingleton Singleton;

public static SlackerSingleton Instance

{

get

{

if (Singleton != null)

return Singleton;


Singleton = FindObjectOfType<SlackerSingleton>();


if (Singleton == null)

{

Singleton = new SlackerSingleton();

}

else

{

foreach (var item in FindObjectsOfType<SlackerSingleton>())

{

if (item.gameObject.GetComponent<SlackerSingleton>() != Singleton)

Destroy(item.gameObject);

}


}

return Singleton;

}

}


public string csName;

}

unity - 饿汉单例与懒汉单例的实现与特性讲解的评论 (共 条)

分享到微博请遵守国家法律