Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在Head First Java中,他们将方法定义为“对象可以做的事情”。
假设我有一个名为按钮的对象。按钮不应该能够设置自己的标签或颜色,因为这应该由其他对象完成。另一个对象告诉按钮设置按钮的文本或颜色。
那么为什么按钮会有setText之类的方法呢?
类中的方法代表对象的行为,而不是代表对象数据的属性。当然,有一个setButtonLabel方法是正确的,它的行为是改变按钮标签的状态。
setButtonLabel
并且“按钮不能为自己设置标签或颜色”的说法是错误的,一个对象可以从另一个方法改变它自己的状态,尽管在某些时候显然必须从外部对象开始改变。