Permalink
Browse files

14.3 を校正

  • Loading branch information...
1 parent b69e230 commit 5b29120939409db5ed9a4335d88490110aea6cb8 @szktty szktty committed with mumez Dec 3, 2011
Showing with 8 additions and 8 deletions.
  1. +8 −8 Reflection/Reflection.tex
View
@@ -363,22 +363,22 @@ \section{クラス、メソッド辞書、メソッド}
\begin{figure}[ht]\centering
\includegraphics[width=.5\linewidth]{CompiledMethod}
- \caption{\ct!Point!クラスと、その\ct!\#*!メソッドのバイトコードをエクスプロアする。\figlabel{CompiledMethod}}
+ \caption{\ct!Point!クラスと\ct!\#*!メソッドのバイトコードをエクスプロアする。\figlabel{CompiledMethod}}
\end{figure}
クラスとメソッドの関係について考えてみましょう。
-\figref{MethodsAsObjects}を見ると、クラスとメタクラスには共通のスーパークラス、\ct{Behavior}、があることがわかります。\ct{Behavior}クラスで、\mthind{Behavior}{new}が定義されています。\ct{new}はクラスの他の主要なメソッドのひとつにすぎません。
-どのクラスにもメソッド辞書があって、メソッド辞書は、メソッドセレクターと\ind{コンパイル済みメソッド}を、対応づけます。
-コンパイル済みメソッドはそれぞれ、そのメソッドがインストールされているクラスを知っています。
-\figref{CompiledMethod}を見れば、\ct{Point}クラスが、\ct!#*!に当たるコンパイル済みメソッドの、\ct{literal5}に、アソシエーションとして格納されていることさえわかります。
+\figref{MethodsAsObjects}を見ると、クラスとメタクラスのスーパークラス \ct{Behavior} が共通していることがわかります。\ct{Behavior}クラスで定義されている\mthind{Behavior}{new}は、クラスに関するメソッドの中でも特に重要です。
+どのクラスもメソッドセレクタと\ind{コンパイル済みメソッド}を関連づけるメソッド辞書を持っています。
+コンパイル済みメソッドは自分が所属するクラスを知っており、\figref{CompiledMethod}の\ct{literal5}に所属クラスの情報が含まれています。\ct{literal5}はキーをシンボル\ct{Point}、値を\ct{Point}クラスとするアソシエーションです。
\begin{figure}[ht]\centering
\includegraphics[width=\linewidth]{MethodsAsObjects}
- \caption{クラス、メソッド辞書、そしてコンパイル済みメソッド\figlabel{MethodsAsObjects}}
+ \caption{クラス、メソッド辞書、コンパイル済みメソッド\figlabel{MethodsAsObjects}}
\end{figure}
-クラスとメソッドの関係を活用して、システムについてのクエリを送れます。
-例えば、どのメソッドが、与えられたクラスに新規に導入されたかということ、\ie どのメソッドが、スーパークラスのメソッドをオーバーライドしていないか、ということは、以下のように、クラスから\ind{メソッド辞書}をナビゲートすれば見出せます:
+システムに問い合わせる際にクラスとメソッドの関係を利用できます。
+
+例えば、あるクラスのメソッドのうち新しく定義されたもの、つまりスーパークラスのメソッドをオーバーライドしていないものを見つけるには、次のようにクラスから\ind{メソッド辞書}をたどります:
\mthindex{Behavior}{methodDict}
\begin{code}{}
[:aClass| aClass methodDict keys select: [:aMethod |

0 comments on commit 5b29120

Please sign in to comment.