前言:
四则运算结对项目成果展示,动手实现之前困惑忐忑,开发过程中劳累又收获,项目完成后满足又成长许多。
为什么要隐藏?首先可以隐藏复杂度:这样你就不用再去应付它,除非你要特别关注的时候;其次隐藏变化源:这样当变化发生时,其影响就能被限制在局部范围内。复杂度的根源包括复杂的数据类型、文件结构、布尔判断以及晦涩的算法等等。信息隐藏的价值:信息隐藏有着独特的启发力,它能够激发出有效的设计方案。信息隐藏同样有助于设计类的公开接口。在设计的所有层面上,都可以通过询问隐藏什么的方式达到好的设计决策。
把类内数据误认为全局变量:为了避免全局数据可能带来的问题,可能会把类内数据误认为是全局数据并避免使用它,我们把Expression.java的answer变量由最初的全局变量变为类内数据,因为Judge.java里面有一个answer变量,为了避免Judge.java使用Expression.java的answer,我们把Judge.java的answer变量改为了ans变量名。其实只要Expression.java的answer变量的位置处于局部变量的位置就可以避免了。
通过参数传值,类间调用等实现模块的对接(主要是Command类和Expression类)。