CocosCreator学习笔记14

一、单例模式

单例模式是一种常见的设计模式,用于确保类只有一个实例,并提供一个全局访问点来获取该实例。


简单来说,单例模式的核心思想是通过限制类的实例化过程,

使得类在整个应用程序中只有一个实例,并且提供一个访问该实例的全局方法。

这在某些情况下非常有用,例如需要共享的资源、配置信息、全局状态等。


如何实现单例模式

1、创建一个类,该类将作为单例类

例子中我们创建一个名为GameManager 的类。

 

2.在单例类中定义一个私有静态属性instance,用于存储类的唯一实例对象。

这是一个私有属性,确保只能在类的内部访问。

3.定义一个私有的构造函数,它将阻止外部实例化该类。

4.实现一个公共的静态方法getInstance,用于获取单例类的实例对象。

该方法首先检查instance 是否存在,如果不存在则创建一个新的实例,然后返回该实例;

如果存在则直接返回现有的实例对象。

 5.可以根据需要在单例类中添加其他方法和属性。

使用单例类时,可以通过调用GameManager.getInstance()来获取GameManager类的实例。

例如:

这样,无论在哪个地方调用GameManager.getInstance() ,

都能获得同一个GameManager实例对象。


通过获取单例实例对象,可以方便地在不同的场景和脚本中访问和修改单例类的方法和属性。

例如,可以使用以下方式获取用户分数并设置用户分数:


 

使用单例模式,可以确保在整个游戏或应用程序中只有一个GameManager实例对象存在,

方便管理全局状态、资源、配置信息等。

同时也避免了频繁的对象创建和销毁,提高了性能和代码的复用性。


 二、属性声明静态

将属性声明为静态意味着该属性属于类本身,而不是类的实例。

静态属性是在类的定义阶段就创建,

并且可以被类和类的实例访问和使用。

例如:

在上面的示例中,声明了一个静态属性staticProperty ,它属于Myclass类本身。

它不属于Myclass的任何实例,因此无论创建多少个实例,这个属性都只有一份。


对于静态属性,可以使用类名直接访问,而不需要创建类的实例。

这是因为静态属性属于类本身而不是类的实例,因此无法通过实例来访问

例如:

 需要注意的是,静态属性不能通过类的实例来访问,

因为它们不属于具体的实例对象。

以下方式是错误的:

 

总的来说,将属性声明为静态属性意味着它属于类本身,而不是类的实例。

静态属性在类定义阶段就会创建,可以通过类名直接访问并在整个类中共享 。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值