16/09/21 17:34:15.26 43fglGIp.net
>>701
じゃあさ、Penにインク残量amountがあったとするよね
インク残量が0の時、ペンは書けないからペンと見なさないとした場合
君はそれがペンであるかを判断するIF文で残量を使ってどう書く?
勿論、x.isPen()メソッドは存在しない
if x.amount > 0 then yes, x is a pen else no, x is not a pen.
って書くでしょ
ペンのインク残量、ペンのペンたる状態を判断するよね
インク残量以外にペンである事の条件が増えた場合
それらを使ってIF文で判断するのは面倒臭いよね
だからペンである状態を表すx.isPen()メソッドが用意される
オブジェクトxはまだPenとして機能しているかの真偽を表す
true/falseとyes/noは同じ二者択一だけど、全く意味が違う