gpt4 book ai didi

c# - 每个只使用一次的类都应该是静态的吗?

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:08 25 4
gpt4 key购买 nike

我已经看到了关于这个的各种讨论,我想它可能有点基于意见,但我想知道的是,如果我知道我只会使用一个类一次(一个实例),我应该只是为方便起见使其静态?这是不好的做法还是会造成问题?

例如。如果我制作单人游戏,那么任何时候都只有一个玩家。那么我是制作 public static class Player{} 还是坚持使用 public class Player{} Player player = new Player();

想法是这样可以节省时间,因为不需要传递引用。

最佳答案

请注意,仅使用一次类与仅使用一个类的一个实例之间存在差异(更多内容见下文)。

静态类通常是一些类,其目的是公开一组功能和/或常量,这些功能和/或常量彼此独立并且不需要维护状态信息。如果这是您的类所做的,那么您可以将其声明为静态。

在您的例子中,我不认为这是要走的路。 Player 对象可能具有不同的状态和其他属性,例如位置、健康状况等。当您尝试让 2 名玩家参与游戏时,您的设计就会中断。

只使用类的一个实例通常是通过 Singleton 实现的设计模式。此模式的目的是为您提供给定对象的相同实例,而不管您实际使用该对象多少次。

关于c# - 每个只使用一次的类都应该是静态的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34525801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com