funfunfun 5
クラスをつくっちゃうぞい!!
クラスカテゴリを作ると自動的にBrowserの下の「ソースコードペイン」に
クラスを定義するためのテンプレートがグリーンで反転表示されるです。
最終行の「category」がちゃんと「MyMorph」になってるのに注目っす!!
--------------------------------------------
Object subclass: #NameOfSubclass
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'MyMorph'
--------------------------------------------
じゃあクラスを定義しちゃいましょう。クラス名も頭文字は大文字じゃないとだめっす。
一行目の「Object」を「EllipseMorph」に「#NameOfSubclass」を「TestMorph1」に
変更してアクセプト〜ッ!!(了解--acceptのことです)
--------------------------------------------
EllipseMorph subclass: #TestMorph1
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'MyMorph'
--------------------------------------------
ショートカットはぜひ覚えてね。
Alt + s ( Cmd + s )
「クラスペイン」に今定義したクラスが登録されたでしょ?
これでクラスができましたあああ!!びっくりだね。
クラスを作るときは元になるクラスを選びまする。
元になるクラスはこれから作るクラスの親のクラスってわけね。
子供のクラスは親の性質を全て受け継ぎまする。
だから子供はらくらくと自分だけの機能を作るだけでいいってわけよ。
今作ったクラスは「EllipseMorph」(楕円ね)という親のクラスの性質を
全て受け継いでる(はず)子供のクラスってことになりまする。
■インスタンスを出すぞ〜!!
さっそく今作ったクラスからインスタンス(モーフオブジェクト)を作ってみましょう〜!!
--------------------------------------------
TestMorph1 new openInWorld
--------------------------------------------
Workspaceに上記のスクリプトをタイプしてドゥ〜イ〜ット!!(式を評価--do itのことです)
このショートカットも覚えてね!!
Alt + d ( Cmd + d )
画面の左上の端っこに黄色の楕円が出てきたっす!!!
「部品」フラップにある「楕円」とおんなじじゃん。
親の「EllipseMorph」の性質を全て受け継いでるので全く同じなわけね。(納得)
子供というよりクローンやね。
じゃあ親と同じじゃ面白くないんで、親離れをさせましょう!!
ってわけでお次は「メソッド」ってやつを作るでやんす。
▲PREV ------ ● TOP ● ------ NEXT▼
■ MEMO ■
Tuesday, 13 January 2004, 7:07:45 am
クラスの親子関係はどうなってるのよ?
というときは「クラスペイン」で調べたいクラスを選んで右クリックすると
メニューが出てくるので「browse hierarchy」を選ぶと
「Hierarchy Browser」が出てきまする。
これが「Hierarchy Browser」ですな。
Browserと違うところは、クラスカテゴリペインがないことと、
クラスペインがクラスの親子関係の階層のリストになってるって感じ。
後はほとんど同じみたいでするよ。クラスペインで親子関係の系譜を見られまする。
ちなみに「Morph」クラスでやるとこんな感じ。
ざっと目を通しておきましょうかいなっと。--thoru
Links to this Page
- FunFunFunMorphic last edited on 25 March 2004 at 5:25:44 am by tk0005-202x210x196x109.ap-TK.usen.ad.jp
- funfunfun 4 last edited on 18 June 2007 at 5:30:15 am by localhost.localdomain
- funfunfun 6 last edited on 18 June 2007 at 5:48:30 am by localhost.localdomain
- MorphHierarchy last edited on 16 February 2004 at 5:42:22 pm by tk0005-202x210x196x109.ap-TK.usen.ad.jp