静态与公共C#
回答
想象一个类似一组蓝图。实例化一个类就像获取蓝图并构建项目。当一名工程师设计一辆汽车时,他会想出设计。那将是班级。汽车设计完成后,计划交付到生产线上。每一辆从车上滚下来的汽车都是该设计的一个实例。
当汽车仍然只是一个设计,你不能做任何事情。如果没有汽车,你不能开门。一旦你有了汽车的实例,你可以操纵它。你可以打开门,启动发动机等。类似Double
这样的课程。一旦你有实例,你可以操纵它。
静态类,如Console
,是没有实例的类。它们更像是一种将有用的相关功能分组的方法。在Console
的情况下,该功能用于与命令行进行交互。 Math
用于分组数学相关的代码。 Configuration
用于读取/操作配置文件。这些事情都不需要你为他们创造独特的东西来工作。
这是一个非常简单但强大的'class'和'object'解释。 – Tarik
这是一个很好的比喻。所以说如果我们有一个类'Person',其属性为'sex,weight,height',我们不得不实例化(创建)一个Person。但是,如果一个方法存在'BrushYourHair'这将是一个静态方法,因为人们在默认情况下将不得不发(不含秃顶的人,当然),你不必创建一个人是[执行行动。这是一个很好的比喻吗? – wootscootinboogie
@wootscootinboogie - 接近。但是,你仍然需要知道哪个人正在刷他们的头发,这可以作为参数传递给静态方法。它看起来像'Hygiene.BrushHair(instanceOfSomePerson);' –
公共类必须在另一个类的应用程序中调用,因为考试这可能是一类数据访问(由businnes层调用)。
静态类不一定需要创建实例,例如跟踪或日志记录类。
思考静态的一个(也许是过了)简化的例子如下:
如果你有类Dog;你可以实例化这个类来创建Dog Poodle = new Dog();和狗拉布拉多=新狗(); 如果Dog类具有变量hairColor,则对于Poodle和拉布拉多犬,hairColor可能不同。这两种不同的情况是分开的。
但是,如果你增加了一个静态变量来犬叫numberOfDogs,每一个新的狗被实例化(你可以做到这一点,例如构造函数)时递增的变量,那么变量也要算狗的总数,不管您检查哪只狗的情况都是相同的数字。 这是有用的(和危险的),这取决于你如何使用它。
- 1. “公共静态”还是“静态公共”?
- 2. 公共静态与静态公共 - 是否有区别?
- 3. C#静态公共方法
- 4. 静态与公共财产
- 5. 公共静态HashTable
- 6. 什么是更好的:公共静态类与静态方法或公共类与静态方法?
- 7. 静态公共布尔vs公共静态布尔
- 8. 公共静态,公共和静态方法有什么区别?
- 9. 推荐:“静态公共”或“公共静态”
- 10. 在C#中检查公共静态Bool
- 11. C#WPF公共静态控制
- 12. C#SHA512 /公共静态字符串
- 13. 与公共静态类YAJSW错误
- 14. 公共静态ArrayList获取与循环
- 15. C++从公共静态方法访问私有静态成员?
- 16. '公共静态最终'或'私人静态最终'与getter?
- 17. 公共静态变量值
- 18. 静态和公共positionning
- 19. 到公共静态方法
- 20. JS公共静态模式
- 21. 在公共静态类中使用公共静态类时出现异常
- 22. C#公共静态方法 - 共享用户之间的信息
- 23. 共享(静态)类与C#的活动
- 24. 如何从公共静态调用无效不静态公共静态在片段类
- 25. 从C#调用C++/CLI公共参考类的静态成员
- 26. 公共静态方法vs公共方法
- 27. 将变量从公共类传递给公共静态类
- 28. 公共静态方法的howmany
- 29. 访问公共静态变量
- 30. System.setProperty或公共静态变量?
看看'Console'或'Math'类与'Exception'或'Button'类。 – SLaks
如果您只有一个“控制台”,您可以将其设为静态。如果你有多个'Double',你不能让它们变成静态的。 –
^作出这些答案......有些事情要在那里讨论。 –