c# 为什么要合理使用静态类

 我来答
rackly1980
2012-06-04 · TA获得超过420个赞
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:352万
展开全部
什么是静态类
所谓静态类指的是无需实例化成对象,直接通过静态体例挪用的类。
本质上讲,静态类是面向过程的,因为通常它只是机械的把原本面向过程的代码集合到一起,虽然结果是以类的体质存在,但此时的类更像是一件皇帝的新衣,所以可以说静态类实际上是披着面向对象的皮儿,干着面向过程的事儿。
面向对象的设计原则之一:针对接口编程,而不是针对实现编程。这有什么不同?打个比喻来说:抛开价格因素,你喜欢独立显卡的电脑还是集成显卡的电脑?我想绝大大都人会选择独立显卡。独立显卡可以看做是针对接口编程,而集成显卡就就能够看做是针对实现编程。如此说来针对实现编程的短处就呼之欲出了: 它丧失了转变的可能性,灵活性。
注意的是:某些情况下,利用静态延迟绑定也能够提高静态类的可测试性。
所以,静态类有好的一面,好比说很适合实现一些无状态的工具类,但大部分时候,我的主观意识很明确,多用对象,少用静态类,避免系统过早的固化。不过有些人说,静态类比对象快之类,我没有对比过,所以.....
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
百度网友1b491e1
2012-06-04 · TA获得超过1036个赞
知道小有建树答主
回答量:497
采纳率:0%
帮助的人:541万
展开全部
1.不是合理使用静态类,而是合理使用静态属性。用静态类我们并不反对,对于类似api的存在,纯粹静态方法合集的静态类有其方便的地方

2.对与非api方式存在的东西,不建议使用静态类。尤其是和线程,线程池一类玩意挂钩的东西,静态属性大多都非线程安全

3静态类本身具有上下文环境无关的特性,所以他具有“穿越”性,你在任何时间,任何地点都可以调用,这个特性正是api提供所需要的。而一些和上下文环境联系比较紧密的东西,不建议使用静态类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangbless
2012-06-07 · 超过29用户采纳过TA的回答
知道答主
回答量:171
采纳率:33%
帮助的人:27.5万
展开全部
类的静态成员是属于类的,类是什么?类是生成对象的模版;静态成员属于类而不是属于某一个对象,进一步说静态成员是共享的(所以在VB叫Share),任何这个类的对象都可以对这个静态成员访问。现在假设静态成员可以访问对象中的变量,由于静态成员是在生成任何具体的对象前已经存在的,那么这个静态成员就根本访问不到任何对象的成员,因为这个时候对象根本就不存在
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式