我目前正在研究使用大量共享UI对象(如Button等)的单个活动Android应用。目前,我将这些UI对象声明为私有非静态类变量。替代方法是不断地将对象从方法传递给方法并以这种方式修改它们。目前我不清楚哪个选项应该是首选,因为在我看来,使用最大封装形式会让我做一些相关的参数传递。任何人都可以对此有所了解吗?
答案 0 :(得分:5)
通常我喜欢将封装视为在单个类中隐藏数据。如果多个方法正在访问该类中的该对象,那么这并不违反封装原则。一旦你开始在课外泄漏它,就会发生封装问题。
话虽如此,拥有一个Button的私有成员并且多种方法可以访问该按钮是完全没问题的。
答案 1 :(得分:0)
如上所述,杰夫说你应该去参加一个活动,因为你在你的问题中已经提到了一个活动,封装总是第一件要推荐的。如果可以的话,我会建议再做一件事: / p>
定义一个接受颜色代码或颜色类型的函数,并从要更改按钮文本颜色的所有函数中调用此函数。这样代码可以在一个执行相同操作的位置,即改变颜色。
答案 2 :(得分:0)
这取决于你想作为参数传递的私有非静态变量是否真的有意义成为类的属性。如果你认为它有意义并且有设计控制它们的更新/修改你可以继续将它们声明为类成员