編程的一些習慣

lg_asus 2010-08-20 04:45:01
一個通用的父類,很多子類去extends , 那么這個父類中的變量 是設成private 然後提供getter && setter 讓子類設置、訪問, 還是把變量設成protected。
我想知道大家的編程習慣~ 和一些高手寫代碼的約定用法 多謝
...全文
277 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lg_asus 2010-08-26
  • 打赏
  • 举报
回复
多謝~~~~~~
michaellufhl 2010-08-24
  • 打赏
  • 举报
回复
其实这也不是习惯问题,这是个非常重要的编程rule。
这个rule看似很不起眼,其实当代码很多很复杂的时候,封装性至关重要。
Effective Java也有一节Minimize the accessibility of classes and members来描述这个rule。
lmily15 2010-08-24
  • 打赏
  • 举报
回复
我一般都是public ,有必要的再改private,protected。
bastengao 2010-08-20
  • 打赏
  • 举报
回复
先设为private的,如果实在有必要,再改为 protected。
michaellufhl 2010-08-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 michaellufhl 的回复:]

一般以encapsulate为标准的话一定是private,对sub class把实现的细节掩盖起来。
[/Quote]
例子:

private int[] values;

protected void setValues(int[] v){
this.values=v;
}

有一天我们要把values变成List,只要改
setValues的实现:

private List values;
protected void setValues(int[] v){
this.values=Arrays.asList(v);
}

sub class不用改。

如果是protected int[] values;哦。。。。。
njskater 2010-08-20
  • 打赏
  • 举报
回复
有区别在于initialize的时间上
Inhibitory 2010-08-20
  • 打赏
  • 举报
回复
看逻辑,如果这个属性在不同的子类中的修改方法也不一样,可以使用protected,如果他的修改在子类中都是一样的,就使用private,根据大多数情况来看,都是private的。
a_Spring 2010-08-20
  • 打赏
  • 举报
回复
8 cuo!
michaellufhl 2010-08-20
  • 打赏
  • 举报
回复
一般以encapsulate为标准的话一定是private,对sub class把实现的细节掩盖起来。

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧