• Effective Java2读书笔记-类和接口(一)


    第13条:使类和成员的可访问性最小化

      设计良好的模块的模块与设计不好的模块区别在于,设计良好的模块会隐藏所有的实现细节,把它的API与他的实现清晰地隔离开来。然后模块之间只通过API通信。

      信息隐藏之所以非常重要,是因为它可以有效地解除各模块的耦合性,使这些模块可以独立地开发、测试。

      类和接口有两种访问级别。包级私有和公有,包级私有就是没有任何修饰符(也有书上翻译成友好的),如果只有这个包中会调用,那么就应该把它做成包级私有的。

      总而言之,应该尽可能地降低访问性。除了公有静态final域的特殊情形之外,公有类都不应该包含公有域。并且要确保公有静态final域所引用的对象都不是可变的。

    第14条:在公有类中使用访问方法而非公有域

      这一条的意思就是说,把成员变量做成私有的,使用get、set方法来进行访问。之前一直不理解为什么要这么做,查了很多资料,大概有这么两方面的内容。

      ①可以进行一个过滤。例如,如果Person类的年龄属性是公有的,那就可以随意设置了,而使用set方法就可以对设置时进行一个筛选过滤。

      ②外部类对该类的属性调用有比较好的适应性,保证代码有比较好的完整性。举个简单的例子,我定义了一个类,这个类中有个time属性,原来单位是分,现在我 想改成秒,只需要更改get中的方法就可以,外部调用这个类的其他类就不需要更改了,如果你直接采用对象.属性类获取的话,在外部只要有调用这个属性的地 方都要改,这样对原代码破坏就比较大。

  • 相关阅读:
    ios 分享腾讯微博
    ios 分享微信
    elinput 价格校验 大于0保留2位小数,不包含01,01.1这种
    从范闲到许乐,从宁缺再到陈长生
    二进制流 ajax 实现图片上传
    php 操作redis 部分命令
    matlab 与vs2008联合编程的设置备忘
    新型机器人闯入职场:到底是工作缔造者还是工作终结者?
    c++ vs2008 多线程编程的样例
    虚拟试衣创业公司Fitiquette被印度电商Myntra收购
  • 原文地址:https://www.cnblogs.com/ZhangWanFan/p/5297454.html
Copyright © 2020-2023  润新知