メインメニューを開く

差分

→‎カテゴリ: Smalltalkにおけるカテゴリーの例を参照するリンクを追加した。
 
=== カテゴリ ===
カテゴリは、クラス定義をグループに分割したり、既存のクラスにメソッドを追加したりするための言語機能。Smalltalkが統合開発環境状でクラスとメソッドの表示を整理するために使っている[[Smalltalk#ファイル用構文|クラスカテゴリーとメソッドカテゴリー]](プロトコルとも言う)をそのまま取り込んだ
 
元はひとつのクラスの実装を関連するメソッド群毎に別々の場所に分割して記述することを可能とする目的で作られた。
 
このほか、カテゴリに宣言したメソッドが実行時にカテゴリがロードされたタイミングでクラスへ追加される、という性質を応用して、ソースコードを直接修正できないクラスに対してサブクラスを定義せずにメソッドを追加する、といった用途や、Informalプロトコルの定義等にも用いられる。
1,108

回編集