zoukankan      html  css  js  c++  java
  • 第十四条:在公有类中使用访问方法而非公有域

    对于一些退化类(没有什么作用,只是用来集中实例域,也可认为是Java Bean)。

    如果这样的类是公有类,也就是我们希望客户端代码可以访问这些退化类的实例域,不应该直接使用public来暴漏这些数据域,

    而是应该私有域和公有设值方法(setter)来代替。这样做的好处是,如果我们一旦需要改变这个退化类的内部结构,客户端

    代码所受的影响最小。否则,如何客户端代码直接使用公有的数据域,这样的代码遍布各处,我们再修改退化类,就很困难了。

    如果这样的类是包级私有的,或者是私有的内部类,也就是说这个退化类,只有在包内才能使用,或者外部类才能使用,客户端

    代码是无法接触到的,直接暴露它的数据域并没有什么本质错误,有时候也是需要这样做的。

    公有类永远都不应该暴漏可变的域。虽然还是有问题,但是让公有类暴露不可变的域(final)其危害比较小。

  • 相关阅读:
    uni-app-数据缓存
    uni-app-网络请求
    uni-app-上拉加载
    uni-app-下拉刷新
    uni-app-生命周期
    uni-app字体图标
    uni-app-样式
    [Python] ValueError: Unknown resampling filter
    [Python]列表复制以及切片[:][::]解析
    LeetCode 29. 两数相除
  • 原文地址:https://www.cnblogs.com/wangliyue/p/4459989.html
Copyright © 2011-2022 走看看