在 Head First Java 中,他们将方法定义为“对象可以执行的操作”。
假设我有一个名为button的对象。按钮不应该能够设置自己的标签或颜色,因为这应该由其他一些对象完成。另一个对象告诉按钮设置按钮的文本或颜色。
那么为什么按钮有像setText这样的方法?
答案 0 :(得分:4)
类中的方法表示对象的行为,而不是表示对象数据的属性。当然,拥有setButtonLabel
方法是正确的,其行为正在改变按钮标签的状态。
声明“一个按钮不能为自己设置标签或颜色”是错误的,一个对象可以从另一个方法改变它自己的状态,尽管在某些时候显然必须从外部对象开始改变。