ooponsc
ƒIƒuƒWƒFƒNƒgŽwŒü‚̃X[ƒp[ƒRƒ‰ƒCƒ_[


SuperCollideriˆÈ‰ºƒXƒpƒR‚Æ‚©‚«‚Ü‚·Aˆ¤‚ðž‚ß‚ÄBj‚̓IƒuƒWƒFƒNƒgŽwŒüŒ^‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚Å‚·B‚È‚Ì‚ÅAƒXƒpƒR‚ð—‰ð‚·‚邽‚ß‚É‚ÍAuƒIƒuƒWƒFƒNƒgŽwŒüv‚ð—‰ð‚·‚é•K—v‚ª‚ ‚è‚Ü‚·BƒIƒuƒWƒFƒNƒgŽwŒü‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚ɂ͌­‚ÍSamllTalk‚Æ‚¢‚¤‚à‚Ì‚©‚çAƒvƒƒOƒ‰ƒ~ƒ“ƒO‚Ì‚±‚Æ‚ð‚æ‚­’m‚ç‚È‚¢l‚Å‚àˆê“x‚Í‚»‚Ì–¼‘O‚ðŽ¨‚É‚µ‚½‚±‚½‚Æ‚ª‚ ‚邾‚낤C
++‚È‚ÇA‚¢‚ë‚¢‚ë‚È‚à‚Ì‚ª‚ ‚è‚Ü‚·B

ƒIƒuƒWƒFƒNƒgŽwŒüHƒvƒƒOƒ‰ƒ~ƒ“ƒOH@‚¤‚£A‚È‚ñ‚¾‚©‚Æ‚Á‚Ä‚à“‚»‚¤‚È‚ñ‚Å‚·‚¯‚Ç....
‚킽‚µ‚àʼn‚Í‚»‚¤Žv‚Á‚Ä‚¢‚Ü‚µ‚½B‚·‚²‚­“‚»‚¤‚¾...‚©‚µ‚±‚­‚È‚¢Ž„‚É‚Í—‰ð‚Å‚«‚é‚Ì‚©‚µ‚ç...‚ÆŽv‚¢‚È‚ª‚çA‚Å‚à‚Ç‚¤‚µ‚Ä‚àƒXƒpƒR‚ŃvƒƒOƒ‰ƒ~ƒ“ƒO‚Å‚«‚é‚悤‚ɂȂ肽‚©‚Á‚½‚Ì‚ÅA–{‚âƒEƒFƒuƒy[ƒW‚ð“ǂ݂‚­‚µ‚¸‚•׋­‚µ‚Ä‚¢‚Ü‚µ‚½B‚»‚µ‚Ä‚ ‚邱‚Æ‚É‹C‚¢‚½‚Ì‚Å‚·B‚»‚ê‚ÍA

Šî–{“I‚ɃIƒuƒWƒFƒNƒgŽwŒü‚Í‚»‚ñ‚ȂɃ€ƒYƒJ‚µ‚­‚È‚¢B
‚Æ‚¢‚¤‚±‚Æ‚Å‚µ‚½BƒIƒuƒWƒFƒNƒgŽwŒü‚ÌŠî–{“I‚ÈŠT”O‚ÍA‚킽‚µ‚½‚¿‚Ì“úí“I‚ÈŽvl‚ÉŽ—‚Ä‚¢‚ÄA‚»‚ê‚ð—‰ð‚·‚邱‚Æ‚Í‚»‚ñ‚Ȃɓ‚¢‚±‚Æ‚Å‚Í‚È‚¢‚ÆŽv‚¢‚Ü‚·B‚µ‚©‚µ‚È‚ª‚çˆê”Ê“I‚ȑЂÍA’˜ŽÒ‚É‚æ‚Á‚Ä—pŒê‚ª“ˆê‚³‚ê‚Ä‚¢‚È‚©‚Á‚½‚èAƒXƒpƒR‚É•t‘®‚̉pŒêƒhƒLƒ…ƒƒ“ƒg‚Æ—pŒê‚ªˆÙ‚È‚Á‚Ä‚¢‚½‚肵‚ÄAƒ€ƒ_‚Ȭ—‚ð‚µ‚Ä‚µ‚Ü‚¤‚±‚Æ‚à‘½‚­‚ ‚è‚Ü‚µ‚½B‚»‚±‚Å‚±‚̃eƒLƒXƒguƒIƒuƒWƒFƒNƒgŽwŒü‚̃X[ƒp[ƒRƒ‰ƒCƒ_[v‚ð‚‚­‚Á‚Ä‚Ý‚é‚Æ‚É‚µ‚Ü‚µ‚½B

ƒXƒpƒR‚ÌK“¾‚É•s‰ÂŒ‡‚ȃIƒuƒWƒFƒNƒgŽwŒü‚ÌŠî‘b‚ðA‚í‚©‚è‚â‚·‚­A‚»‚µ‚ÄŠy‚µ‚­‚¨•×‹­‚Å‚«‚ê‚΂Ǝv‚¢‚Ü‚·B


y ƒI ƒu ƒW ƒF ƒN ƒg Žw Œü ‚Ì ƒX [ ƒp [ ƒR ƒ‰ ƒC ƒ_ [ ‚à ‚­ ‚¶ z

01. ƒIƒuƒWƒFƒNƒgŽwŒü‚̃vƒƒOƒ‰ƒ~ƒ“ƒO‚Æ‚¢‚¤‚±‚Æ
02. ƒƒbƒZ[ƒW‚ƃIƒuƒWƒFƒNƒg
03. “®•¨•ª—ÞŠw‚̃IƒuƒWƒFƒNƒgŽwŒü
04. ƒNƒ‰ƒX‚ƃCƒ“ƒXƒ^ƒ“ƒX
05. ƒƒ\ƒbƒhAƒƒbƒZ[ƒWAƒŒƒV[ƒo
06. ƒNƒ‰ƒXƒƒ\ƒbƒh‚ƃCƒ“ƒXƒ^ƒ“ƒXƒƒ\ƒbƒh
07. ƒX[ƒp[ƒNƒ‰ƒX‚ƃTƒuƒNƒ‰ƒX
08. ƒ|ƒŠƒ‚[ƒtƒBƒYƒ€
09. ƒIƒuƒWƒFƒNƒgŽwŒü‚̉•à@ŠÖ˜AŽ‘—¿



01. ƒIƒuƒWƒFƒNƒgŽwŒü‚̃vƒƒOƒ‰ƒ~ƒ“ƒO‚Æ‚¢‚¤‚±‚Æ
‚»‚à‚»‚àuƒIƒuƒWƒFƒNƒgŽwŒüv‚Æ‚¢‚¤Œ¾—t‚̈Ӗ¡‚ª‚æ‚­•ª‚©‚è‚Ü‚¹‚ñB‚Ç‚¤‚¢‚¤ˆÓ–¡‚È‚Ì‚Å‚µ‚傤‚©H
uƒIƒuƒWƒFƒNƒgŽwŒüƒvƒƒOƒ‰ƒ~ƒ“ƒOvA‰pŒê‚Å‚Í‚±‚¤‚©‚«‚Ü‚·B

Object Oriented Programming (‚±‚ê‚𗪂µ‚ÄOOP‚ƌĂт܂·)
Object... ‰pŒê‚Å‚Æ‚­‚É‚©‚­ƒ‚ƒmA‚Æ‚©•¨‘ÌB‚Æ‚¢‚¤ˆÓ–¡‚ª‚ ‚è‚Ü‚·BiŒêŒ¹‚Å‚ ‚éƒtƒ‰ƒ“ƒXŒê‚ÌuƒIƒuƒWƒFv‚Æ‚¢‚¤Œ¾—t‚Ì‚Ù‚¤‚ª‚È‚¶‚Ý‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñBu‚ A‚ ‚̃fƒ…ƒVƒƒƒ“‚Ì•ÖŠí‚̃IƒuƒWƒFA‰Âˆ¤‚¢v‚Ý‚½‚¢‚È‚©‚ñ‚¶‚ÅBj
Oriented... Orient‚É‚ÍA`‚É•ûŒü‚¯‚éA‚Æ‚©Œü‚©‚킹‚é‚Æ‚¢‚Á‚½ˆÓ–¡‚ª‚ ‚è‚Ü‚·B
ƒXƒpƒR‚ÌOOP‚Ì¢ŠE‚Å‚Í‚·‚ׂẴ‚ƒm‚ªƒIƒuƒWƒFƒNƒgA‚Æ‚µ‚Ĉµ‚í‚ê‚Ü‚·B‚ÆA‚±‚ê‚͈ê”Ê“I‚ÈŒ¾—t‚È‚Ì‚ÅA‚à‚¤‚·‚±‚µOOP‚æ‚è‚̈Ӗ¡‚Å’è‹`‚·‚é‚ÆAƒIƒuƒWƒFƒNƒg‚Æ‚ÍA‚½‚¾‚̃‚ƒm‚Å‚Í‚È‚­‚ÄA

Object = ‚È‚ñ‚©ó‘Ô‚ðŽ‚Á‚Ä‚¢‚ÄA‰½‚©‚̃AƒNƒVƒ‡ƒ“‚É”½‰ž‚·‚é‚à‚Ì
‚Æ‚¢‚¦‚Ü‚·B—Ⴆ‚ÎA‚킽‚µBŽ„‚Í¡AƒCƒX‚ÉÀ‚Á‚ăRƒ“ƒsƒ…[ƒ^‚ÉŒü‚©‚¢‚±‚̃eƒLƒXƒg‚ð‘‚¢‚Ä‚¢‚éA‚¨• ‚Í‚¿‚å‚Á‚Ƌ󂢂Ă¢‚éA‚Æ‚¢‚Á‚½ó‘Ô‚ðŽ‚Á‚Ä‚¢‚Ü‚·B‚»‚µ‚Ä’N‚©‚É–¼‘O‚ðŒÄ‚΂ꂽ‚炨•ÔŽ–‚ð‚·‚é‚±‚Æ‚ª‚Å‚«‚Ü‚·B‚‚܂葼‚©‚ç‚ÌŽhŒƒ‚ɑ΂µ‚Ä”½‰ž‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B‚¾‚©‚ç‚킽‚µ‚̓IƒuƒWƒFƒNƒg‚È‚Ì‚Å‚·B‚Å‚ÍAƒNƒ}‚Ì‚Ê‚¢‚®‚é‚݂̓IƒuƒWƒFƒNƒg‚ÆŒ¾‚¦‚é‚Å‚µ‚傤‚©Hl‚¦‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B

02. ƒƒbƒZ[ƒW‚ƃIƒuƒWƒFƒNƒg
ƒIƒuƒWƒFƒNƒgŽwŒü‚Å‚ ‚éƒXƒpƒR‚̃vƒƒOƒ‰ƒ€‚ÍAƒIƒuƒWƒFƒNƒg‚ɃƒbƒZ[ƒW‚𑗂邱‚Æ‚É‚æ‚Á‚Äi‚ñ‚Ås‚«‚Ü‚·Bæ‚̃IƒuƒWƒFƒNƒg‚Ì—á‚Å‚ÍAu‚ ‚½‚µv‚Æ‚¢‚¤ƒIƒuƒWƒFƒNƒg‚ɑ΂µ‚ÄAuƒeƒLƒXƒg‘‚­‚Ì‚ð‚â‚ß‚Äv‚Æ‚©u‚²‚Í‚ñ‚ð‚½‚×‚ëv‚Æ‚¢‚Á‚½ƒƒbƒZ[ƒW‚ð‘—‚èA‚»‚ê‚É‚ ‚½‚µ‚ª”½‰ž‚·‚邱‚Æ‚É‚æ‚Á‚ÄA‚±‚Æ‚ªi‚Ý‚Ü‚·BƒXƒpƒR‚Å‚ÍA‚Ç‚¤‚â‚Á‚ăƒbƒZ[ƒW‚ð‘—‚ê‚΂¢‚¢‚Ì‚Å‚µ‚傤‚©BƒIƒuƒWƒFƒNƒg‚ɑ΂µ‚ăƒbƒZ[ƒW‚ð‘—‚éꇂÍA. (ƒsƒŠƒIƒh)‚ðŽg‚Á‚ÄŽŸ‚̂悤‚É‹Lq‚µ‚Ü‚·B



ƒIƒuƒWƒFƒNƒg. ƒƒbƒZ[ƒW

// ŽÀۂ̃XƒpƒRƒvƒƒOƒ‰ƒ€
10.rand // 10‚Æ‚¢‚¤”ŽšƒIƒuƒWƒFƒNƒg‚Érand‚Æ‚¢‚¤ƒƒbƒZ[ƒW‚ð‘—‚é

SCWindow.new.front // SCWindow‚Æ‚¢‚¤ƒIƒuƒWƒFƒNƒg‚Énew‚Æ‚¢‚¤ƒƒbƒZ[ƒW‚ð‘—‚èA‚³‚ç‚ÉfrontƒƒbƒZ[ƒW‚ð‘—‚é


03. “®•¨•ª—ÞŠw‚̃IƒuƒWƒFƒNƒgŽwŒü
Work01 : ƒXƒL‚È“®•¨‚ÌŠG‚ð•`‚¢‚Ă݂悤i‚±‚̉º‚Ì‹ó”’‚É‘‚±‚¤j





¢‚Ì’†‚ɂͶ•¨•ª—ÞŠw‚ƌĂ΂ê‚éŠw–₪‚ ‚è‚Ü‚·i’F‚킽‚µ‚Í•ª—ÞŠw‚ɂ‚¢‚Ä‚Í‘S‚­‚à‚Á‚ÄÚ‚µ‚­‚È‚¢‚Ì‚Å‚·B‚»‚̃XƒW‚Ì•ûAŠÔˆá‚Á‚Ä‚¢‚½‚炲Žw“E‚­‚¾‚³‚¢jB‚±‚ê‚Í’n‹…ã‚Ì‚¢‚ë‚ñ‚ȶ‚«•¨‚ð‚»‚Ì“Á’¥‚â«Ž¿‚©‚番—Þ‚µ‚Ä‚¢‚­A‚Æ‚¢‚¤‚悤‚È‚à‚Ì‚Å‚·B¶•¨‚Í‚Ü‚¸AA•¨‚Æ“®•¨‚É•ª‚¯‚ç‚ê‚Ü‚·‚ªA‚Ç‚¤‚¢‚¤Šî€‚Å•ª‚¯‚ç‚ê‚é‚Ì‚©‚Æ‚¢‚¤‚ÆAA•¨‚Í—t—Α̂ð‚à‚¿Œõ‡¬‚É‚æ‚è‰h—{‚ð‚‚­‚肾‚·‚à‚ÌA‚»‚ê‚ɑ΂µ‚Ä“®•¨‚Í‘¼‚̶•¨‚ðH‚ׂ邱‚Ƃʼnh—{‚𓾂é‚à‚ÌA‚Æ‚¢‚¤Œˆ‚܂肪‚ ‚è‚Ü‚·B“¯—l‚ÉA‚½‚Æ‚¦‚ÎAÒ’Å“®•¨‚Í”wœ‚ð‚à‚Á‚Ä‚¢‚é‚à‚ÌA’¹—Þ‚Í—ƒ‚Æš{‚ð‚à‚ÂA‚È‚Ç‚È‚ÇA‚»‚̶‚«•¨‚Ì“Á’¥‚ɉž‚¶‚½ƒJƒeƒSƒ‰ƒCƒY‚ð‚µ‚Ä‚¢‚é‚킯‚Å‚·B


‹t‚©‚猾‚Á‚Ä‚Ý‚é‚ÆA‚»‚ꂼ‚ê‚̃JƒeƒSƒŠ[‚É‚ÍA“¯‚¶‚悤‚È«Ž¿‚â‹@”\‚ð‚à‚Á‚½¶‚«•¨‚ªW‚Ü‚Á‚Ä‚¢‚é‚Ì‚Å‚·B—Ⴆ‚Î’¹—ނ̶‚«•¨‚ÍA‚Ý‚ñ‚È—ƒ‚ðŽ‚Á‚Ä‚¢‚éA‚Æ‚¢‚¤«Ž¿‚ª‚ ‚èA‚Ý‚ñ‚È‚»‚Ì—ƒ‚ðŽg‚Á‚Ä‹ó‚ð”ò‚Ô‚±‚Æ‚ª‚Å‚«‚Ü‚·iƒyƒ“ƒMƒ“‚È‚Ç‚Í—áŠO‚Å‚·‚ª...jB‚Ü‚½A‹›—ނ̶‚«•¨‚Í‚Ý‚ñ‚ȃGƒ‰‚ðŽ‚Á‚Ä‚¢‚ÄA…’†‚ð‰j‚®‚±‚Æ‚ª‚Å‚«‚é‚Ì‚Å‚·B‚³‚ÄA‚»‚ë‚»‚ëOOP‚̘b‚É‚à‚ǂ邱‚Æ‚É‚µ‚Ü‚µ‚傤...

04. ƒNƒ‰ƒX‚ƃCƒ“ƒXƒ^ƒ“ƒX
OOP‚ɂ̓Nƒ‰ƒX‚ƃCƒ“ƒXƒ^ƒ“ƒXA‚Æ‚¢‚¤ŠT”O‚ª‚ ‚è‚Ü‚·B
class = ƒ‚ƒm‚Ì’è‹` ... ƒ‚ƒm‚Ìó‘Ô‚â«Ž¿AU•‘‚¢‚ð’è‹`‚µ‚½‚à‚ÌB
’¹ƒNƒ‰ƒXi‚Æ‚¢‚¤‚à‚Ì‚ª‚ ‚Á‚½‚Æ‚µ‚½‚çj‚ÍA’¹‚Æ‚Í‚Ç‚¤‚¢‚¤‚à‚Ì‚©‚ð’è‹`‚µ‚Ä‚¢‚é‚à‚Ì‚Å‚·B’¹‚É‚Íuš{‚ª‚ ‚Á‚Ä—ƒ‚ª‚ ‚Á‚ÄA"”ò‚×I"‚Æ‚¢‚¤ƒƒbƒZ[ƒW‚ðŽó‚¯Žæ‚Á‚½‚çA”ò‚ÔB"–‚¯"‚Æ‚¢‚¤ƒƒbƒZ[ƒW‚ðŽó‚¯Žæ‚Á‚½‚çA‚³‚¦‚¸‚év‚Æ‚©‚ËB
ƒXƒpƒR‚É‚Í‚ ‚ç‚©‚¶‚߉½•S‚à‚̃Nƒ‰ƒX‚ª—pˆÓ‚³‚ê‚Ä‚¢‚Ü‚·B‚»‚ê‚ç‚̃Nƒ‰ƒX’è‹`ƒtƒ@ƒCƒ‹‚ÍASCƒtƒHƒ‹ƒ_>SCClassLibraryƒtƒHƒ‹ƒ_‚Ì’†‚É“ü‚Á‚Ä‚¢‚Ü‚·B

instance = ƒNƒ‰ƒX‚©‚çì‚ç‚ꂽŽÀۂ̃‚ƒm ... Ž„‚Í‚¿‚¢‚³‚¢‚±‚댢‚ðŽ”‚Á‚Ä‚¢‚Ü‚µ‚½B”ނ̓‰ƒbƒL[‚Æ‚¢‚¤–¼‘O‚̃V[ƒYŒ¢‚Å‚»‚ê‚Í‚Æ‚Á‚Ä‚à‰Âˆ¤‚­‚ĉˆ¤‚­‚Ä....‚»‚ê‚©‚玄‚Ì‚¨—F’B‚àŒ¢‚ðŽ”‚Á‚Ä‚¢‚Ä‚»‚ê‚̓NƒGƒXƒg‚Æ‚¢‚¤–¼‘O‚ÌŽÄŒ¢‚Å‚µ‚½BŒ¢‚Æ‚¢‚¤ƒNƒ‰ƒX‚ÍŒ¢‚ª‚Ç‚¤‚¢‚¤‚à‚Ì‚Å‚ ‚é‚©A‚ð’è‹`‚µ‚Ä‚¢‚邾‚¯‚ÌŠT”O‚̂悤‚È‚à‚Ì‚Å‚·‚ªAƒ‰ƒbƒL[‚âƒNƒGƒXƒg‚ÍŒ¢ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Å‚·B

05. ƒƒ\ƒbƒhAƒƒbƒZ[ƒWAƒŒƒV[ƒo
ƒIƒuƒWƒFƒNƒgŽwŒü‚ª“‚¢A‚ÆŽv‚í‚ꂪ‚¿‚È——R‚̂ЂƂ‚ÉA•·‚«Šµ‚ê‚È‚¢Œ¾—t‚ª‚½‚­‚³‚ñ‚Å‚Ä‚­‚éA‚Æ‚¢‚¤‚Ì‚ª‚ ‚é‚ÆŽv‚¤‚Ì‚Å‚·‚¯‚ê‚Ç‚àAŽŸ‚ÍAV‚µ‚­ƒƒ\ƒbƒhAƒƒbƒZ[ƒWAƒŒƒV[ƒo‚Æ‚¢‚¤Œ¾—t‚ªo‚Ä‚«‚Ü‚·B
method = ‚ ‚éƒNƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚ª‚ǂ̂悤‚ÉU‚é•‘‚¤‚©‚ðƒNƒ‰ƒX‚É‹Lq‚µ‚½‚à‚Ì
message = ƒƒ\ƒbƒh‚ðƒIƒuƒWƒFƒNƒg‚ÌŠO‘¤‚©‚çŒÄ‚Ño‚·‚½‚߂̃ƒbƒZ[ƒW
receiver = ƒƒbƒZ[ƒW‚ðŽó‚¯Žæ‚éƒIƒuƒWƒFƒNƒg‚Ì‚±‚Æ


‚ÆAà–¾‚³‚ê‚Ä‚àƒˆƒNƒƒJƒ‰ƒiƒC‚ÆŽv‚¤‚Ì‚ÅA‘O‚Ì߂̃Cƒ“ƒXƒ^ƒ“ƒX‚Ì‚±‚Æ‚ðl‚¦‚‚‚â‚Á‚Ä‚Ý‚Ü‚µ‚傤B

Work02 : DocumentƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð‚‚­‚Á‚Ă݂悤
ƒqƒ“ƒgFDocumentƒNƒ‰ƒX‚̃wƒ‹ƒvƒtƒ@ƒCƒ‹‚ðŒ©‚Ä‚Ý‚Ü‚µ‚傤Bƒwƒ‹ƒvƒtƒ@ƒCƒ‹‚ðŒ©‚é‚É‚ÍADocument‚Ì•¶Žš‚Ìã‚Ń_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚ÄAƒNƒ‰ƒX–¼‚ª‘I‘ð‚³‚ê‚½‚çAƒRƒ}ƒ“ƒhƒL[AƒVƒtƒgƒL[A^ƒL[i?ƒ}[ƒN‚̂‚¢‚Ä‚¢‚éƒL[j‚𓯎ž‚ɉŸ‚µ‚Ü‚·B


Work02i‰ñ“š—ájF

Document
.new("this the title", "this is a text");

‚±‚̃R[ƒh‚ðŽÀs‚·‚é‚ÆDocumentƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ª‚‚­‚ç‚êA‚ЂƂƒhƒLƒ…ƒƒ“ƒgƒEƒBƒ“ƒhƒE‚ªŠJ‚©‚ê‚Ü‚·‚ËB

‚±‚̃R[ƒh‚Å‚ÍDocumentƒNƒ‰ƒX‚ÉnewƒƒbƒZ[ƒW‚ð‘—‚Á‚Ä‚¢‚é‚Ì‚Å‚·‚ªA‚±‚ê‚Í‚Ç‚¤‚¢‚¤‚±‚Æ‚ªs‚í‚ê‚Ä‚¢‚½‚Ì‚Å‚µ‚傤‚©HADocumentƒNƒ‰ƒX‚É‚Ínew‚Æ‚¢‚¤ƒƒ\ƒbƒh‚ª’è‹`‚³‚ê‚Ä‚¢‚ÄA‚±‚ꂪŒÄ‚Ño‚³‚ꂽ‚Æ‚«u‚±‚̃Nƒ‰ƒX‚©‚çV‚µ‚¢ƒCƒ“ƒXƒ^ƒ“ƒX‚ð‚‚­‚év‚悤‚ÉDocumentƒNƒ‰ƒX‚É’è‹`‚³‚ê‚Ä‚¢‚Ü‚·B‚±‚Ìnew‚Æ‚¢‚¤ƒƒ\ƒbƒh‚ðŒÄ‚Ño‚·‚½‚ß‚ÉADocumetnƒNƒ‰ƒX‚ÉnewƒƒbƒZ[ƒW‚ð‘—‚Á‚½‚킯‚Å‚·B‚Ü‚½AƒƒbƒZ[ƒW‚ðŽó‚¯Žæ‚éƒIƒuƒWƒFƒNƒg‚Ì‚±‚Æ‚ðƒŒƒV[ƒoA‚ƌĂт܂·B
‚³‚ç‚Ébackroundƒƒ\ƒbƒh‚ðŽg‚Á‚ÄAƒhƒLƒ…ƒƒ“ƒg‚Ì”wŒiF‚ðÂF‚É‚µ‚Ä‚Ý‚Ü‚µ‚½B

Document.new("this the title", "this is a text").background_(Color.blue);




DocumentƒNƒ‰ƒX‚̃Nƒ‰ƒX’è‹`‚ðŒ©‚Ä‚Ý‚Ü‚µ‚傤BƒNƒ‰ƒX–¼‚Å‚ ‚éDocumetn‚ð‘I‘ð‚µ‚ÄAƒRƒ}ƒ“ƒhƒL[‚ÆJƒL[‚𓯎ž‚ɉŸ‚µ‚Ü‚·B

Document {

classvar <dir="", <allDocuments, thelistener, <>current;

ƒ’†—ª„

*new { arg title="Untitled", string="", makeListener=false;
^super.new.initByString(title, string, makeListener);
}


‚·‚é‚Æã‹L‚̂悤‚È‚à‚Ì‚ª‚Å‚Ä‚«‚Ü‚·B’† ‚ÉA*new‚Æ‚¢‚¤‚Ì‚ª‚ ‚è‚Ü‚·‚ªA‚±‚ꂪnewƒƒbƒZ[ƒW‚ðŽó‚¯Žæ‚Á‚½‚Æ‚«‚ɌĂÑo‚³‚êŽÀs‚³‚ê‚énewƒƒ\ƒbƒh‚Ì’†g‚Å‚·B‚Ü‚¾‚¿‚å‚Á‚Ɠ‚¢‚Å‚µ‚傤‚©H‚Ü‚½“®•¨‚̘b‚ð—á‚Él‚¦‚Ä‚Ý‚Ü‚µ‚傤B
Žv‚¢o‚µ‚Ä‚­‚¾‚³‚¢B“®•¨•ª—ÞŠw‚Ì‚»‚ꂼ‚ê‚̃JƒeƒSƒŠ[‚É‚Í“¯‚¶«Ž¿‚ð‚à‚Á‚½¶‚«•¨‚ªW‚Ü‚Á‚Ä‚¢‚é‚Ì‚Å‚·B—Ⴆ‚Î’¹—ނ̶‚«•¨‚ÍA‚Ý‚ñ‚È—ƒ‚ðŽ‚Á‚Ä‚¢‚éA‚»‚µ‚Ä‹ó‚ð”ò‚ÔA‚Æ‚¢‚¤Œˆ‚܂肪‚ ‚è‚Ü‚·iƒyƒ“ƒMƒ“‚È‚Ç—áŠO‚Í‚ ‚è‚Ü‚·‚ª...jB’¹‚É‚Íu”ò‚Ôv‚Æ‚¢‚¤U‚é•‘‚¢‚ðA‹›‚É‚Íu‰j‚®v‚Æ‚¢‚¤U‚é•‘‚¢‚ð‚µ‚Ä—~‚µ‚¢‚Ì‚ÅA‚»‚ꂼ‚ê‚̃Nƒ‰ƒX‚É‚»‚̃ƒ\ƒbƒh‚ð’è‹`‚µ‚Ä‚¨‚«‚Ü‚·Bu‚Ç‚¤‚â‚Á‚½‚ç”ò‚ׂé‚Ì‚©v‚ð’è‹`‚·‚éflyƒƒ\ƒbƒh‚Æ‚©u‚Ç‚¤‚â‚Á‚½‚ç‰j‚°‚é‚Ì‚©v‚ð’è‹`‚·‚éswimƒƒ\ƒbƒh‚Æ‚©‚ð‚‚­‚Á‚Ä‚¨‚«‚Ü‚·B‚»‚¤‚·‚ê‚Î’¹ƒCƒ“ƒXƒ^ƒ“ƒX‚ð”ò‚΂·‚½‚ß‚É‚Ífly‚Æ‚¢‚¤ƒƒbƒZ[ƒW‚𑗂邾‚¯‚ÅÏ‚Þ‚Ì‚Å‚·B



06. ƒNƒ‰ƒXƒƒ\ƒbƒh‚ƃCƒ“ƒXƒ^ƒ“ƒXƒƒ\ƒbƒh
ƒƒ\ƒbƒh‚Ì‚È‚©‚ÅAƒŒƒV[ƒo‚ªƒNƒ‰ƒX‚Ì‚à‚Ì‚ðƒNƒ‰ƒXƒƒ\ƒbƒhAƒCƒ“ƒXƒ^ƒ“ƒX‚Ì‚à‚Ì‚ðƒCƒ“ƒXƒ^ƒ“ƒXƒƒ\ƒbƒh‚ƌĂт܂·B—Ⴆ‚ÎAwork2‚̃vƒƒOƒ‰ƒ€‚Å‚ÍADocumentƒNƒ‰ƒX‚ɑ΂µ‚Ä‘—‚ç‚ê‚Ä‚¢‚énewƒƒ\ƒbƒh‚̓Nƒ‰ƒXƒƒ\ƒbƒhAnew‚ÌŒ‹‰Ê‚Å‚«‚½ƒCƒ“ƒXƒ^ƒ“ƒX‚ɑ΂µ‚Ä‘—‚ç‚ê‚Ä‚¢‚ébackground‚̓Cƒ“ƒXƒ^ƒ“ƒXƒƒ\ƒbƒh‚Å‚·B




07. ƒX[ƒp[ƒNƒ‰ƒX‚ƃTƒuƒNƒ‰ƒX ... ƒNƒ‰ƒX‚É‚ÍŒp³iinheritancej‚ÌŠÖŒW‚ª‚ ‚è‚Ü‚·

sub class = ƒX[ƒp[ƒNƒ‰ƒX‚ðŒp³‚µA‚»‚ê‚ÉV‚µ‚¢“Á’¥‚â«Ž¿‚ð‰Á‚¦‚½‚à‚Ì
@@@@@@@Šî–{“I‚ɃX[ƒp[ƒNƒ‰ƒX‚Ì«Ž¿‚⃃\ƒbƒh‚ð‘S•”ˆø‚«Œp‚¢‚Å‚¢‚Ü‚·
super class = ƒTƒuƒ‰ƒNƒX‚ÌŒp³‚à‚Æ

‚Ü‚½‚Ü‚½•ª—ÞŠw‚̘b‚É–ß‚µ‚Ü‚·B“®•¨‚Í‚Ü‚¸AÒ’Å“®•¨iÒ’Åi”wœj‚Ì‚ ‚é‚à‚Ìj‚Æ–³Ò’Å“®•¨iÒ’Å‚Ì‚È‚¢‚à‚Ìj‚É•ª‚¯‚ç‚ê‚Ü‚·B“®•¨‚Íu‘¼‚̶‚«•¨‚ð‚Æ‚Á‚ÄH‚ׂé‚à‚Ìv‚Æ’è‹`‚³‚ê‚Ä‚¢‚é‚Ì‚ÅAÒ’Å“®•¨‚à–³Ò’Å“®•¨‚»‚Ì«Ž¿‚ðŽó‚¯Œp‚¢‚ÅA‘¼‚̶‚«•¨‚ðH‚ׂ܂·B“¯—l‚ÉÒ’Å“®•¨‚Í‹›—Þ‚â’¹—ÞA‚Ù“û—Þ‚È‚Ç‚É•ª‚¯‚ç‚ê‚Ü‚·‚ªA‚Ç‚ê‚àu‘¼‚̶‚«•¨‚ð‚Æ‚Á‚ÄH‚ׂé‚à‚Ìv‚Å‚ ‚èAu”wœ‚Ì‚ ‚é‚à‚Ìv‚Å‚·B‚±‚¤‚µ‚ĉºˆÊ‚̃JƒeƒSƒŠ[‚Ì‚à‚Ì‚ÍA‚æ‚èãˆÊ‚̃JƒeƒSƒŠ[‚Ì«Ž¿‚ð‘S•”Žó‚¯Œp‚¢‚Å‚¢‚Ü‚·B‚±‚ꂪŒp³ŠÖŒW‚Å‚ ‚è‚Ü‚·B’¹ƒNƒ‰ƒX‚ÍÒ’Å“®•¨‚̃TƒuƒNƒ‰ƒX‚Å‚ ‚éA‚Ü‚½‚Í‹t‚ÉÒ’Å“®•¨ƒNƒ‰ƒX‚Í’¹ƒNƒ‰ƒX‚̃X[ƒp[ƒNƒ‰ƒX‚Å‚ ‚éA‚Æ‚¢‚¦‚Ü‚·B

ƒNƒ‰ƒX‚ÌŒp³‚ÉŠÖ‚·‚郃\ƒbƒh‚ɂ͉º‹L‚Ì‚à‚Ì‚ª‚ ‚è‚Ü‚·
dumpClassSubtree ... ƒŒƒV[ƒo‚̃Nƒ‰ƒX‚̃TƒuƒNƒ‰ƒX‚ð•\Ž¦‚·‚é
superclass ... ƒŒƒV[ƒo‚̃Nƒ‰ƒX‚̃X[ƒp[ƒNƒ‰ƒX‚𒲂ׂé
subclasses ... ƒŒƒV[ƒo‚̃Nƒ‰ƒX‚̃TƒuƒNƒ‰ƒX‚𒲂ׂé


Work03 :WhiteNoiseƒNƒ‰ƒX‚̃TƒuƒNƒ‰ƒX‚É‚Í‚Ç‚ñ‚È‚à‚Ì‚ª‚ ‚è‚Ü‚·‚©


Work03i‰ñ“š—ájF

NoahNoiseAGrayNoiseAClipNoiseAPinkNoiseABrownNoise
iWhiteNoise.dumpClassSubtree@‚Æ‚¢‚¤ƒR[ƒh‚ðŽÀs‚µ‚Ä’²‚ׂéj




08. ƒ|ƒŠƒ‚[ƒtƒBƒYƒ€
i‘½‘Ô«A‚È‚Ç“ú–{Œê‚Å‚ÌŒ¾‚¢•û‚̓CƒƒCƒ...j

Polymorphism = ˆÙ‚È‚éƒNƒ‰ƒX‚ª“¯‚¶ƒƒbƒZ[ƒW‚ðŽó‚¯Žæ‚Á‚½‚Æ‚«‚ɈقȂéU‚é•‘‚¢iˆ—j‚ð‚·‚é‚±‚Æ
—Ⴆ‚ÎAu‘O‚Éi‚ßv‚Æ‚¢‚¤ƒƒbƒZ[ƒW‚ðŽó‚¯Žæ‚Á‚½‚çA’¹ƒIƒuƒWƒFƒNƒg‚Í”ò‚Ô‚µA‹›ƒIƒuƒWƒFƒNƒg‚ł͉j‚®‚µAƒqƒgƒIƒuƒWƒFƒNƒg‚¾‚Á‚½‚ç•à‚­‚Æ‚©‘–‚é‚Å‚µ‚傤‚ËBu–ÊÏ‚ðŒvŽZ‚µ‚ëv‚Æ‚¢‚¤ƒƒbƒZ[ƒW‚ðŽOŠpŒ`ƒIƒuƒWƒFƒNƒg‚ªŽó‚¯Žæ‚ê‚Î’ê•Ó~‚‚³€‚QAŽlŠpŒ`ƒIƒuƒWƒFƒNƒg‚È‚çAc~‰¡‚Æ‚¢‚¤ˆÙ‚È‚é•û–@‚ÅŒvŽZ‚ð‚µ‚Ä‚¢‚邯‚ê‚Ç‚àAŒ‹‰Ê“I‚É‚Í–ÊÏ‚ðŒvŽZ‚µ‚Ä‚­‚ê‚é....“¯‚¶ƒƒbƒZ[ƒW‚ðŽg‚Á‚Ä‚à‚»‚ê‚ðŽó‚¯Žæ‚éƒIƒuƒWƒFƒNƒgiƒNƒ‰ƒXj‚²‚Æ‚É‚»‚̃Nƒ‰ƒX‚É“KØ‚ÈAˆÙ‚È‚éU‚é•‘‚¢‚ð‚·‚é‚±‚Æ‚ðƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚ÆŒ¾‚¢‚Ü‚·B‚ЂƂ‚̃ƒbƒZ[ƒW‚ðŽg‚¤‚¾‚¯‚ÅA‚ ‚Æ‚Í‚»‚ꂼ‚ê“K“–‚Ȉ—‚ð‚µ‚Ä‚­‚ê‚é‚Ì‚ÅA‚¿‚å‚Á‚Æ•Ö—˜‚ÈŽd‘g‚Ý‚Å‚µ‚åH
‰º‚̓XƒpƒR‚Ìplay‚Æ‚¢‚¤ƒƒ\ƒbƒh‚ðAˆÙ‚È‚éƒNƒ‰ƒX‚É‘—‚Á‚Ä‚Ý‚½—á‚Å‚·BƒNƒ‰ƒX‚É‚æ‚Á‚ÄA“KØ‚ÈAˆÙ‚Ȃ鈗‚ð‚µ‚Ä‚¢‚Ü‚·B


// FunctionƒNƒ‰ƒX
{ PinkNoise.ar(0.5) }.play;

// PatternƒNƒ‰ƒX
Pbind(\degree, Pseq([0, 1, 2, 3],inf)).play;

// SynthDefƒNƒ‰ƒX
SynthDef("sine800", {
Out.ar([0,1], SinOsc.ar(800, 0, 0.2));
}).play;


09. ƒIƒuƒWƒFƒNƒgŽwŒü‚̉•à@ŠÖ˜AŽ‘—¿

ƒEƒFƒuƒTƒCƒgu‚‚­‚él‚Ì–¡•ûiƒIƒuƒWƒFƒNƒgŽwŒü‚Ì‚Í‚È‚µjv URL : http://mikata.curiocube.com/

‘ÐuƒIƒuƒWƒFƒNƒgŽwŒü‚ª‚í‚©‚é–{v²“¡‰pl’˜@ƒI[ƒ€ŽÐ


"OOP on SC" written by tn8 : tn800@iamas.ac.jp on Mar.2004