设为首页 加入收藏

TOP

19.4 内部状态(1)
2013-10-07 01:01:52 来源: 作者: 【 】 浏览:69
Tags:19.4 内部 状态

19.4 内部状态

aRequest的内部状态用myOperator和myOperand表示。第17行~第35行实现的函数允许其他类和代码获得这些变量的值。

如果看一下第18章的图18-2,就会发现并非所有的类都具有内部状态。例如,anExternalInterface根本没有成员变量。

aRequest实例的整个生命期只有一个内部状态,因为外部无法更改aRequest的成员变量。

anAccumulator实例的内部状态会频繁变化,因为每次调用Apply()都会改变anAccumulator的内部状态。

aController实例具有间接的内部状态。尽管aController的成员变量不会改变,但成员变量具有内部状态,其状态随着时间的变化而变化。

把函数声明为const对对象的内部状态非常重要。如果函数声明为const,编译器就会保证它不会修改成员变量。假如某个函数用类的const实例作为参数,若调用该对象的非const成员函数,编译器就会产生错误消息。所以,const可以让你更加确定对象是按要求使用的。应该在参数和函数上尽可能多地使用const,以减小对象误用的风险。

anAccumulator的实现如代码清单19-3所示。anAccumulator的内部状态比aRequest的更容易变化。

代码清单19-3 anAccumulator的实现

 
 
【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇19.4 内部状态(2) 下一篇全面比较C#和Java

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: