4

我目前正在开发一个使用大量共享 UI 对象(如 Button 等)的单一活动 Android 应用程序。目前,我将这些 UI 对象声明为私有非静态类变量。对此的替代方法是不断地将对象从方法传递到方法并以这种方式修改它们。我目前还不清楚应该首选哪个选项,因为在我看来,使用最大封装形式会导致我做很多参数传递。任何人都可以对此有所了解吗?

4

3 回答 3

5

通常,我喜欢将封装视为将数据隐藏在单个类中。如果多个方法在类中访问该对象,那并没有真正违反封装原则。一旦你开始在课堂外泄漏它,就会出现封装问题。

话虽如此,拥有一个私有成员是一个 Button 并且多个方法可以访问该按钮是非常好的。

于 2012-12-29T17:18:08.903 回答
0

如上所述,杰夫说,您应该在一个活动中传递参数,正如您在问题中提到的那样,封装始终是推荐的第一件事。如果可以的话,我建议您再做一件事:

定义一个将接受颜色代码或颜色类型的函数,并从要更改按钮文本颜色的所有函数中调用此函数。这样,​​代码可以在一个执行相同操作的地方,即更改颜色.

于 2012-12-29T17:34:05.823 回答
0

这取决于您想要作为参数传递的那些私有非静态变量是否真的有意义成为类的属性。如果您认为它有意义并且对它们的更新/修改具有设计控制权,您可以继续并将它们声明为班级成员

于 2012-12-29T17:37:40.703 回答