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
また、「ボタンはそれ自体にラベルや色を設定できない」という文は誤りです。オブジェクトは別のメソッドから自身の状態を変更できますが、ある時点で変更を外部オブジェクトから開始する必要があることは明らかです。