NLV*_*NLV 7 .net oop static class-design class
正如标题所示,我想理解为什么静态类只能有静态成员.我希望它在所有编程语言中都是一样的.因此,我相信所有语言的解释都是一样的.
这不是一个设计决策,而是一个逻辑决策.最简单的开始是查看概念的相关定义:
静态类是无法实例化的类.这意味着您无法创建该类类型的对象.
非静态成员绑定到类的特定实例.它们包含仅与该类类型的单个对象关联的数据.
因此,如果静态类包含非静态成员,则您永远无法访问该数据或调用该方法,因为您永远无法实例化该静态类的类型的对象.相反,您必须拥有可以从类的静态实例直接调用的所有静态成员.
但是,您可以拥有包含静态成员的非静态类.这样,您可以访问数据或调用作为静态成员公开的方法,而无需实例化该类的对象.但是,您还可以实例化该类类型的对象并访问非静态(或实例)成员.例如,如果您有一个类Circle
,则可以使用静态成员,如CalculateArea
函数和PI
字段.这些成员通常只适用于所有圈子,因为它们是圆圈.但是,您也可以拥有与该类的特定实例相关联的非静态成员,因为它们描述了特定的圆形对象.这些可能是领域Diameter
和Circumference
.在给定存储在该特定实例的非静态字段中的数据的情况下,您还可以使用非静态函数来计算圆的面积.
归档时间: |
|
查看次数: |
4963 次 |
最近记录: |