イニシャライザを組み合わせて使うというのは、ちょっとでもかじったことがある方はご存じでしょう。init];今日はこの仕組みについてです。ついて2つのポイントを挙げておきます。このことが言語の基本として存在しているおかげで、オブジェクト生成の柔軟性がぐっと上がっています。イニシャライザはプログラマが実装するので、どのようなインスタンスを返すかは自由です。そのもののインスタンス以外を返しても良いということです。いった主要クラスの一部は、どのようなイニシャライザを使うかによって、想定される用途に適したサブクラスのインスタンスが生成されるようになっています(クラスクラスタと呼ばれる仕掛けですが、これについてはまたいずれ)。同じように、自分で実装するクラスでもイニシャライザの実装を工夫すれば、引数や状況に応じた別クラスのインスタンスを返せます。ような仕組みが最初から組込まれているわけで、自然な記述で生成オブジェクトの抽象化を実現できます。ような簡易コンストラクタも一般的に利用されるので、こちらでもプログラマが好きなように生成処理を記述できます。アプリケーションで、呼出し側には影響を与えずに各デバイスに特化したインスタンスを返すというケースも考えられますね。デザインパターンでも多く取り上げられていることからわかるように、「オブジェクトの生成」はオブジェクト指向プログラミングにおいて大きなウェイトを占めます。大きな特徴だと感じています。感謝できるようになってきた今日このごろです。