Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?

アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?

PHPerKaigi 2023 前夜祭の資料です

Hisateru Tanaka

March 23, 2023
Tweet

More Decks by Hisateru Tanaka

Other Decks in Programming

Transcript

  1. w ݴޠԽ͞Εͨͷ͸೥୅ͩͬͨ w 4JNVMBΛ࢖͍ͬͯͨΞϥϯɾέΠͷͻΒΊ͖ w ࣗ෼ͷΞΠσΞΛʮΦϒδΣΫτࢦ޲ʯͱݺΜͩ w ύʔιφϧɾίϯϐϡʔλʔͷൃҊऀ "QQMF*͸·ͩͳ͍ 

    w ໋ྩྻͷஞ࣍ॲཧͰ͸ͳ͘ɺ(6* ೥୅ ͰΤϯυϢʔβ ʔ͕࢖͑Δ࣮ߦ؀ڥ ϓϩάϥϛϯάݴޠΛؚΉ Λߟ͍͑ͯͨ ͍ͭ͜ͷݴ༿͸஀ੜͨ͠ͷ͔ ʮΦϒδΣΫτࢦ޲ʯ
  2. w ೥ʹ࠷ॳͷ4NBMMUBML͕࡞ΒΕͨ w ೥ʹݴޠ࢓༷͕҆ఆ w ʮΦϒδΣΫτʹϝοηʔδΛૹΔʯҎ֎Կ΋ͳ͍จ๏ w ͦΕ͕ͳ͔ͥӳޠͷจষͷΑ͏ʹͳΔ w ྫ

    จ຤͸ϐϦΦυɻηϛίϩϯ͸ʮʙ͓Αͼʙʯ w ͜ͷಛ௃ %4-ײ ͸3VCZͱ4DBMB͕ड͚ܧ͍ͩ ΦϒδΣΫτࢦ޲ϓϩάϥϛϯάͷίϯηϓτϞσϧ 4NBMMUBML
  3. x := 1. y := -1. o := Object new.

    abc := #(‘a’ ‘b’ ‘c’). จ๏ΦϒδΣΫτˠม਺ଋറ ॻ͖ํ͸͍Ζ͍Ζ͋Δ͚Ͳɺ ͋ΒΏΔ஋͸ΦϒδΣΫτͰ͢ɻ [:n| n * 2 ] ͜Ε͸ʮཁૉΛഒ͢Δ͜ͱʯΦϒδΣΫτɻ Ϋϩʔδϟ͸࠷ॳ͔Β͋ͬͨ
  4. จ๏ΦϒδΣΫτˡϝοηʔδ posOrNeg := x positive. Transcript show:’Yes’. range := 0

    to: 10 by: 2. (x + y) * z. ԋࢉࢠ΋ ϝοηʔδ ΦϒδΣΫτ͸ϝοηʔδʹԠ͑·͢ɻ ͜ΕΛαϒϧʔνϯݺͼग़͠ͱݴ͏ͱ4NBMMUBMLܯ࡯ʹୁั͞Ε·͢  ͜ΕͰUPCZͱ͍͏ͻͱ ͭͷϝιουͰ͢ self setX: 1; setY: 2. ηϛίϩϯͰจʹ Ͱ͖ͯ΂ΜΓ DPOTPMFMPH Έ͍ͨͳͷ
  5. ܁Γฦ͠Λ࡞ΕΔ ී௨ʹϒϩοΫ Ϋϩʔδϟ ͰͰ͖·͢ΑͶ Transcript show: ((0 to: 10) fold:

    [:a :b| a asString, b asString ]). (0 to: 10) do: [:n| Transcript show: n. ]. #Ruby (0 .. 10).each do |n| print n end //JS oneToTen.forEach((n)=>{ console.log(n); }); ͪͳΈʹ͜͏ॻ͘ํ͕ΠϯεϖΫλͰѻ͍΍͍͢
  6. ৚݅෼ذ΋࡞ΕΔ ಉ͡ϝοηʔδͰ΋ૹΓઌ͕USVFͳͷ͔GBMTFͳͷ͔Ͱʜ yesOrNo ifTrue: [ Transcript show: ‘Yes’; cr. ]

    ifFalse:[ Transcript show: ‘No’; cr. ]. Transcript show: ( yesOrNo ifTrue:'Yes' ifFalse:’No’ ); cr. #PPMFBOTVCDMBTT5SVF JG5SVFUSVF#MPDLJG'BMTFGBMTF#MPDL ?USVF#MPDLWBMVF #PPMFBOTVCDMBTT'BMTF JG5SVFUSVF#MPDLJG'BMTFGBMTF#MPDL ?GBMTF#MPDLWBMVF ͪͳΈʹ͜͏ॻ͘ํ͕ΠϯεϖΫλͰѻ͍΍͍͢ USVF#MPDL͚ͩධՁ͢Δ GBMTF#MPDL͚ͩධՁ͢Δ
  7. w αϒϧʔνϯ͸࣮ߦલ͔Β੩తʹॲཧͷߦ͖ઌ͕ܾ·͍ͬͯΔ w ϝοηʔδϯά͸ม਺͕ଋറͨ͠Ϟϊͷҧ͍ͰσΟεύονઌ͕ มΘΔ ͭ·ΓϙϦϞʔϑΟζϜͰ͢  w ϓϩτίϧ͕ઌʹܾ·͍ͬͯͯɺ࣮ମ ଟଶ

    ͸ޙͰ͍ͭͯ͘Δײ ͡ ͭ·Γґଘੑ൓సݪଇͰ͢  w 4NBMMUBMLͷॏཁίϯηϓτʮ஗Ԇଋറ -BUF#JOEJOH ʯʹ Αͬͯɺෳࡶ͞ͷ࣮ମΑΓ΋લʹϢʔβʔͷҙਤΛ࣋ͬͯ͘Δ ಈతͳ஗Ԇଋറ ͳͥʮϝοηʔδϯάʯͳͷ͔
  8. ͦΕ͸·ͩ001ͱݺ͹Εͳ͔ͬͨ ϝϞϦΛ௚઀ҙࣝ͢Δ$ͷه๏Λͪΐͬͱվળͨ͠ 4JNVMB $ݴޠʙ ,3 $XJUI$MBTTFT struct Data *pData =

    malloc(sizeof(struct Data)); pData->m_var = 123; process_data(pData, 456); free(pData); Data *pData = new Data(123); pData->process(456); delete pData; ͍ͭͰʹσʔλܕઐ༻ͷؔ਺Λ จ๏Ͱද໌Ͱ͖ΔΑ͏ʹͨ͠Α
  9. w ίϯϐϡʔλʔྔ࢈ͷωοΫ͸ϝϞϦෆ଍ͩͬͨ 
 ,#͋Ε͹ըظతͳ͙Β͍  w ঎༻ιϑτ͸ΞηϯϒϥͰ࠷దԽ͢Δͷ͕౰વ 
 ݱ࣮ͷΤϯυϢʔβʔίϯϐϡʔςΟϯά؀ڥ͸#"4*$ w

    #$1-͸$1-Λݩʹʮະདྷͷࢥ૝͸͓͖ͯ͞ɺ·ͣ͸ࠓ͋Δί ϯϐϡʔλʔͰಈ͘΋ͷΛʯͱ͍͏ݱ࣮ओ͔ٛΒੜ·Εͨ w ͜ͷจԽΛҾ͖ܧ͍ͰɺҠ২ੑͱػցޠΛཱ྆ͤͨ͞$ݴޠ ͸ɺ·͞ʹཧ૝తͳߴڃݴޠͩͬͨ ʙ೥୅ͷݱ࣮ͱ#$1-ͷࢥ૝
  10. w ೥ 4NBMMUBML͔Β೥ޙ ɺ$XJUI$MBTTFT͕࠷ॳ ͷ$ ʹͳͬͨ w ͜ͷͱ͖ܧঝγεςϜʹԾ૝ؔ਺ςʔϒϧΛ౥ࡌͨ͠ w جఈܕʹఆٛͨ͠Ծ૝ؔ਺͔Βɺ೿ੜܕͷϝϯόؔ਺ͷϙΠϯλ

    ʹࣗಈσΟεύον͞ΕΔ࢓૊Έ ͞Α͏ͳΒؔ਺ϙΠϯλ஍ࠈ  w ͜ͷʮΠϯελϯε͕ৼΔ෣͍ଟଶੑΛ࣋ͬͨʯͷΛݟͯɺ$ϓ ϩάϥϚʔ͸ʮ෦෼తʹ4NBMMUBMLͷΞΠσΞΛ໛฿Ͱ͖Δ͔ ΋ʯͱߟ͑ͨˠΦϒδΣΫτࢦ޲ϓϩάϥϛϯά΋Ͱ͖Δ Ծ૝ؔ਺ςʔϒϧͷ౥ࡌͰ001-Λࣗশ $XJUI$MBTTFTͷ໊শ͕$ ʹ
  11. w $ ͸#$1-ͷࢠଙͳͷͰ࣮༻ੑશৼΓ w ࢖͑ͦ͏ͳ΋ͷΛԿͰ΋෦෼आ༻͢Δࢥ૝ˠʮΦϒδΣΫτࢦ ޲ϓϩάϥϛϯά΋ ͪΐͬͱ Ͱ͖Δʯʮଞʹ΋੝͍ͬͯ͘Ͱʯ w ಘΒΕͨผͷརศੑܧঝͱܕޓ׵ੑνΣοΫͷ༥߹

    
 4NBMMUBML͸શͯͷίʔυஅยΛΠϯλϥΫςΟϒʹධՁͰ͖ΔͷͰɺม਺ܕͰ ੍໿͠ͳ͍Φʔϧಈతํ਑Ͱ΋ෆศ͕ͳ͔ͬͨ  w ʮ#PPMFBOͷαϒλΠϓͰͳ͍ͳΒUSVF΍GBMTFͱಉ͡Α͏ʹ ѻ͑ͳ͍͔ΒΤϥʔͩͶʯͱݴͬͯ͘ΕΔΞϨ ࣮༻ੑ ஗Ԇଋറ ͳͲ
  12. 4NBMMUBML $  Ծ૝ؔ਺ςʔϒϧͰ͖ͨͧ ΦϒδΣΫτࢦ޲ 4JNVMB $ݴޠ $  $XJUI$MBTTFTͷ෦෼

    ٞ࿦ͷ༨஍͸͋Δ͚ͲଥڠͰ͖Δ ଥڠͰࡁ·ͳ͍001لݩઆ͕ීٴͨ͠ ஗ԆଋറͩΑͶʂ ͚ͩͲ෦෼తͳͷ͸ ΦϒδΣΫτࢦ޲ͱ ݴ͑Δͷ͔ͳ ࠓ೔͔Βࢲ͸ 001-Ͱ͢ ΄ʔΜʜ ͜Ε͕ΦϒδΣΫτࢦ޲͔ ଟଶੑΘ͔ΒΜ ·͋ݱ࣮͠ΐ͏͕ͳ͍΍ Ϋϥε ϝϯόؔ਺ ܧঝ
  13. w ʮܧঝ͸ ܕνΣοΫͷ͋Δ ΦϒδΣΫτࢦ޲ͷ伴Ͱ͢ʯˠʮͦͬ ͔ܧঝ͕ΦϒδΣΫτࢦ޲ͳΜͩͳʯ w ʮܧঝ͢ΔͱطଘΫϥεΛࠩ෼֦ுͰ͖Δͧʜͬͯɺ͏Θʔܧঝ εύήςΟͩʔʯʜͳΜͰͦ͏ͳΔ͔ͳ w ͔ͨ͠ʹʮܧঝγεςϜͱαϒλΠϐϯάΛ༥߹ͤͨ͞ʯ$

    ܥ ͷΞΠσΞͰ͸ɺΫϥεͷJTBؔ܎͸ͱͯ΋ॏཁ w ͭ·Γݴޠ࢓༷ͷ࿩Ͱ͔͠ͳ͍͠ɺͦ΋ͦ΋֦ுͰ͸ͳ͘ܕͷ൚Խ w 001ʹҰൠԽ͢Δͱʮϓϩτίϧ *' ἧ͑Α͏ͶʯͰ͓ΘΓ ܧঝ 001େޠղ
  14. ͳͥޡղͷํ͕ओྲྀ೿ʹ தੈϤʔϩούफڭࣾձͱಉ͡ߏ଄ ਆֶऀ ڭձ ॸຽ ҆௚ʹ ڭ͑΍͍͢ զʑʹ΋ Θ͔Δ ೔ʑͷ฻Β͠

    ϝϞϦ؅ཧ  Ͱਫ਼Ұഋͳʜ ݖྗ ٕज़γΣΞ ͕ཉ͍͠ͷͰʜ ݖҖԽ ஍ํͷ੟৬ऀ ಧ͔ͳ͍ ޚ༻ฉ͖ͷ ํ͕༗ར ΑΓΠʔδʔͳ ͋Γ͕ͨΈΛ ߟ͑ͯ͘Ε ڭٛͷউखͳ ֦େղऍ΁ʜ ٯʹ༨ܭ΍΍ͯ͘͜͠ਏ͍ 001΋ఔ౓໰୊Ͱ͸͋ΔΑͶ །Ұਆγϯϓϧ
  15. w 00%ͩͱ͔00"ͩͱ͔ʜ $ ܥͷํΛ౔୆ʹ  w ౷ҰϞσϦϯάݴޠͩͱ͔ʜ ສೳϞσϦϯάݴޠ͡Όͳ͍ͷʹ  w

    ෦෼తʹ͸ͦ͏͚ͩͲ େ෦෼͕ػೳ෼ղͳ΋ͷʹɺΩϥΩϥ͠ ͨʮΦϒδΣΫτࢦ޲ͷףʯΛ͔Ϳͤͨ w ʮΦϒδΣΫτࢦ޲ਆ࿩ ΦϒδΣΫτࢦ޲Ͱ͸ͳ͍ ʯͷ੒ཱ w ΞϥϯɾέΠʮ·͔͞$ ͷ͜ͱΛΦϒδΣΫτࢦ޲ͱݺͿΑ ͏ʹͳΔͱ͸ࢥΘͳ͔ͬͨʯ ৴ڼ͸ʮຽʯΛࢧ഑͢Δଘࡏʹ
  16. w ੈلΧτϦοΫڭձ͕ʮ᩿༒ঢ়ʯ ໔ࡑූ Λൃߦͨ͠ 
 ͓ۚΛ෷͑͹ṖͷϝΧχζϜͰࡑ͕ঈΘΕΔγεςϜ w ϧλʔ͕͓͔͍͠ͱ൷൑ͨ͠ ͕ɺ͙͢ʹ͸޿·Βͳ͔ͬͨ 

    w άʔςϯϕϧΫͷ׆൛ҹ࡮ͱ͍͏৘ใγϯΪϡϥϦςΟ͕͋ͬͨ w ϥςϯޠͰॻ͔Ε࡭਺΋ݶΒΕ͍ͯͨ੟ॻ͕ɺ֤ࠃͷ฼ࠃޠʹ຋ ༁͞Εɺ஌తΤϦʔτ͚ͩͰͳ͘ɺॸຽ΋ಡΊΔຊʹͳͬͨ w ϧλʔʹࢍ੒ͩͱࣗ෼Ͱߟ͑ΒΕΔΑ͏ʹͳͬͨਓͨͪ͸ɺΧτ ϦοΫڭձͱܾผͯ͠ϓϩςελϯτʹͳͬͨ फڭվֵͷ͓͜Γ
  17. w ೥ʹొ৔ͨ͠+BWB͕ҰେϒʔϜʹͳͬͨ w ਆൿͷϕϯμʔٕज़+&&΍%$0.ͳͲ͕ొ৔ w ڊେԽͨ͠։ൃମ੍ʹ൓ൃ͢Δ੠্͕͕Γ࢝Ίͨ 
 ॳ৺ऀͷϒϥϯυ৴ڼʹରͯ͠ɺϕςϥϯ੎͕Կ౓΋஧ࠂ w Πϯλʔωοτ

    ׆൛ҹ࡮ʹ͙࣍৘ใγϯΪϡϥϦςΟ Ͱ୭΋ ͕ٞ࿦ʹࢀՃͰ͖Δࣾձʹͳ͍ͬͯͨ w ݖҖओٛͷّࣜతͳ։ൃʹٙ໰Λ࣋ͬͨਓͨͪ͸ɺ͍ͭʹΞδϟ Πϧ։ൃએݴΛද໌ͨ͠ ͜ͷۀքͷ৔߹
  18. w $ Λ΋ͬͱγϯϓϧͳ Ϛγͳ 001ͷϞσϧʹ͠Α͏ w ϝϞϦ؅ཧΛΨϕʔδίϨΫγϣϯ ($ ʹ͠Α͏ 


    4NBMMUBMLͲ͜Ζ͔એݴܕݴޠ͸ΈΜͳ΍ͬͯΔ  w ͱ͸͍͑૝ఆ༻్͸Πϯλʔωοτ࣌୅ͷ૊ΈࠐΈػثͩ w όΠτ௕͕໌֬ͳϓϦϛςΟϒ஋͸֎ͤͳ͍ 
 શ෦ΦϒδΣΫτ͡Όͳ͍͚Ͳݱ࣮ଥڠ͸େࣄ  w ΍͸ΓαʔυύʔςΟ͕Ծ૝ϚγϯΛ࡞Γ΍͘͢͠ͳ͍ͱ 
 ˠΦϒδΣΫτʹཉ͔ͬͨ͠ͷ͸($ͷ࡞Γ΍͢͞ ͳͥॳظͷ+BWBʹਓؾ͕ग़ͨͷ͔ +BWBͦͷ΋ͷ͸ѱ͘ͳ͍
  19. w ӨڹΛड͚ͨͷ͸$ Ͱ͸ͳ͘1FSMͱ4NBMMUBML 
 .BU[͸ʮ$ ͷQSPUFDUFEΛೖΕͨͷ͸ؒҧ͍ͩͬͨʯͱݴͬͯΔ͙Β͍  w ϙʔϧɾάϨΞϜ͕-JTQͷ࣍ʹ޷͖ͱ঺հ͢Δ·Ͱɺ୭΋ 4NBMMUBML༝དྷͷ001Λࢥ͍ग़ͯ͘͠Εͳ͔ͬͨ

    w େ͛͞ͳํ๏࿦ͷਆൿओٛWT3VCZPO3BJMTͱ͍͏ʮΤϯυ ϢʔβʔίϯϐϡʔςΟϯάʯͷ஀ੜ w ͜ͷεϥΠυͷ࡞ऀ͸Ͳ͏΍Β3BJMTΛɺίʔυͰόʔδϣϯ؅ ཧͰ͖Δ044ͷ.4"DDFTTͩͱࢥ͍ͬͯΔΒ͍͠ ಉ࣌ʹੜ·Εͨ΋͏ͻͱͭͷ001- 3VCZ
  20. w ํ๏࿦ΛޠΔݖҖΛΑͦʹɺ໧ͬͯ༏Εͨ(6*Λ࡞Δਓ͸ ೥୅͔Β001ͱ্ख͘෇͖߹͖ͬͯͨ w ΤϦοΫɾΨϯϚʮ΍ͬͺΓ4NBMMUBML͔Β஌ͬͯΔਓ͸(6* Λ্ख͘࡞Δͳ͋ɻ$ ͔Βͷ։ൃऀʹ΋ਅࣅ͍ͤͨ͞ͳ͋ʯ w ݸਓతͳ࿩ ͪΐͬͱ࣌୅͸લޙ͢Δ͚Ͳɺాதͻͯ͞Δݸਓ͕ΦϒδΣΫτࢦ޲ͷ

    ΞΠσΞʹ׬શʹෲམͪΛಘͨͷ͸ɺϓϩάϥϛϯάதͰ͸ͳ͘ɺ࣮͸%4UVEJP ."9Λ࢖͍ͬͯͨͱ͖Ͱͨ͠ɻ(6*ͷਓ͕࡞ͬͨ΋ͷ͕ϦΞϧΛڭ͑ͯ͘Εͨ w ʹͯ͠͸ͪΐͬͱ೉ղʹॻ͖͗͢ +BWBΑΓগ͠લ͢Ͱʹ (P'σβΠϯύλʔϯ
  21. w έϯτɾϕοΫ͸4NBMMUBML༻ͷ୯ମςετπʔϧ46OJUΛ։ ൃ ೥ൃද ૄ݁߹ͳΦϒδΣΫτݸʑͷ੹຿Λຬͨͤ w ΤϦοΫɾΨϯϚͱͱ΋ʹ+BWBʹҠ২ ೥ʹૣ͘΋  w

    ϕοΫ͸ςετۦಈ։ൃ 5%% ͷຊΛࣥච w 5%%͸ΤΫετϦʔϜϓϩάϥϛϯά 91ݩ૆ΞδϟΠϧ ͷ ϓϥΫςΟεʹ w ʮܗࣜతख๏ΑΓ΋ݸʑͷਓ͕େࣄʯ ਓݖએݴΈ͍ͨͳ͜ͱ ࣮͸஗Ԇଋറͷ΄͏ʹ༝དྷ͢Δ 46JOUˠ5%%ɾ91
  22. w σβΠϯύλʔϯ͢ΒݖҖԽͩͨ͠͠ ೉ղͳͷͰͦ͢͝͏  w 5%%΍ΞδϟΠϧ͑͞΋໔ࡑූͱͯ͠৅௃Խ 
 Ғ͍ਓ͕ݴͬͨํ๏Λ΍͍ͬͯΔࣗ෼͸ਖ਼͍͠Μͩ  w

    ۙ୅ԽΛ৅௃͢Δݴ༿ʮਆ͸ࢮΜͩʯŠχʔνΣ 
 ҙՊֶจ໌ʹΑΓڭձͷݖҖͷ৅௃͸Φϫίϯ  w 3VCZPO3BJMT࡞ऀ%))ʮ5%%JTEFBEʯ   w ΑΓʹΑͬͯɺ4NBMMUBML௚ܥͷݴޠΛ࢖͏ਓʹɺ4NBMMUBMLจ Խੜ·Εͷ5%%͕ʜͦΕ͙Β͍ݖҖ৴ڼ͸ඌΛҾ͘ ϓϩςελϯτ΋·ͨಉ༷ʹݖҖʹऑ͔ͬͨ $ ͷ࠯͸ͳ͍ˠ͔͠͠ݖҖ৴ڼ͸ʜ
  23. w ϩόʔτɾ$ɾϚʔνϯʮΞδϟΠϧιϑτ΢ΣΞ։ൃͷԞٛʯ Ͱ༗໊ʹ   w ͜͜೥΄Ͳʮ001ͷݪଇʯͱ͞Ε͍ͯΔɺΑΓ޿͘ιϑτ΢ ΣΞઃܭʹϑΥʔΧεͨ͠ίπ w ͭͷݪଇͷ͏͕ͪͭ஗ԆଋറͰઆ໌Ͱ͖Δ

    w ࢒Γͭ͸ʮϦείϑͷஔ׵ݪଇʯ 
 ͳΜͱৼΔ෣͍σʔλܕͷઌੜͷ໊લ͕෇͍͍ͯΔͷͰ͢ w ͍Ζ͍Ζ͚͋ͬͨͲɺ྆ํͷ͍͍͜ͱΛݫબͯ͠࢒ͦ͏ ਖ਼࢙ճؼͱ৴ڼੈքͷରཱͰ͸ͳ͘࿨ղΛ͍ࣔͯͨ͠ Ͱ΋40-*%͸͢Ͱʹʜ
  24. w ؔ਺ܕݴޠ)BTLFMMͷӨڹΛड͚ͨ+7.ݴޠ w +BWBଆͱࢥΘΕ͕͚ͪͩͲɺ001ͷίϯηϓτ͕࣮͸͍ͩͿ 4NBMMUBMLʹ༝དྷ͢Δ 3VCZʹࣅ͍ͯΔ  w ࣌୅͸4DBMBͷӨڹΛड͚ͨɺ $

    ͕ϗϯτ͸ͦ͏ͩͬͨΜ͚ͩͲ 
 ݂ࠞݴޠͷ࣌୅ʹಥೖͨ͠ˠ,PUMJO 5ZQF4DSJQU 3VTUʜ w 4DBMBҎޙʮΦϒδΣΫτࢦ޲ʯͷ؃൘Λܝ͛ͨݴޠ͸ొ৔͍ͯ͠· ͤΜɻݴޠ͸ਖ਼࢙ʹ໭͓ͯ͠͠·͍ɻ͋ͱ͸จԽతͳߦ͍ͷ໾໨ͩ w ΤϦοΫɾΤϰΝϯεʮ͍·Ͳ͖ͷϦΞΫςΟϒͳ࡞Γʹ͸ࢀরಁա ੑ͕໰ΘΕΔ͔Βͳɻ೥ͷ%%%ͷٕ๏ͱ͔΋͏ݹ͍Ͱʯ  ΦϒδΣΫτࢦ޲ݴޠ͸ଧͪࢭΊʹͳ͍ͬͯͨ 4DBMBϙετ4DBMBݴޠ
  25. w Ϋϥε͔ΒΠϯελϯεͦΕ͸4JNVMBͳͷͰ00Ҏલ w ΦϒδΣΫτ͔ؔ਺͔Ϋϩʔδϟ͸࠷ॳ͔Β͋Δ w Ϋϥε͸σʔλܕ͔4NBMMUBMLʹ΋3VCZʹ΋ܕ͸ͳ͍ w αϒλΠϓܧঝ͔ܧঝ͸$ ܥͷબ୒ʹ͗͢ͳ͍ w

    ଟ૬ੑͷ͜ͱ͔ϝοηʔδϯάҎ֎ʹɺܕΫϥεɺδΣωϦΫ εͳΜ͔΋͋ΔΑͶ w ࢒Δͷ͸஗Ԇଋറ΁ͷظ଴͚ͩখ͞ͳϞϊͷ࿈ܞͰɺݸਓ͕Α Γେ͖ͳιϑτ΢ΣΞΛѻ͑ΔΑ͏ʹ͍ͨ͠ ෆՄೳͰ͢ˠ00͸ଘࡏ͢Δ͚ͲܗࣜͰ͸ͳ͍ શ001-ΛܗࣜతʹఆٛͰ͖Δ͔
  26. w ఻౷తͳफڭ͸ͲΕ΋ɺՊֶͷԼʹҐஔ͢ΔʮจԽʯʹఆணͨ͠ w ͕ɺफڭΧϧτ͸ ѱҙ͸ͳͯ͘΋ ՊֶΑΓ΋फڭΛ্ͷՁ஋؍ʹ 
 ˠதੈͷڭձͱಉ͡ݖҖਸഈߏ଄Λ࡞Δํʹ޲͔͍ɺ໭Εͳ͘ͳΔ w ݹయతͳਆֶ΋஌Βͳ͍ڭ૆͕ɺਆ༷Λݟ͖ͯͨΑ͏ʹݴ͏

    w ඇՊֶతͳ΋ͷ΄ͲՊֶͩͱݴ͍ग़ͨ͠Γ w ચ೴͠΍͢͞Λ෢ثʹɺਫ໘ԼͰଟ਺೿ͱ༊ண͍ͯͨ͠Γ΋͢Δ w ਅ໘໨ͳਓ΄Ͳίϩͬͱ͍ͬͯ͠·͏ Պֶ৴ڼ࣌୅ˠफڭ্࢙ओٛ͸Χϧτ फڭతωΨςΟϒΠϝʔδ
  27. w ʮΦϒδΣΫτࢦ޲ͱ͸ʯʹ΢έͷ͍͍ಠࣗఆٛΛ༩͑Δ 
 ͍͍ͩͨ$XJUI$MBTTFTͷ͋ͨΓͰ  w ྺ্࢙ͷཱ೿ͳਓ͕ܝ͛ͨݴ༿ ݖҖ Λද໘తʹഈआͯ͘͠Δ w

    ී௨ͷ͜ͱΛ͋Γ͕ͨͦ͏ʹݴ͍ɺ೉͍͠ݱ࣮͸ݟ͑ͳ͍;ΓΛ͢ ΔɻΑΓ೉͍͠ຊ୊ʹೖΔલͷʮ͜ͷΑ͏ʹ͋Γ͍ͨʯ͚ͩΛਸΊ Α͏ͱ͢Δ w ΑΓݡ͍ਓͱͷର࿩ΛγϟοτΞ΢τɻ্૚΄Ͳɺࣗ෼͕ڭΘΔଆ ʹͳͬͯཧղΛਂΊ͍ͨͱ͍͏ཉٻ͕ݟΒΕͳ͍ w Լ૚Ͱ΋ɺ಺༰Ͱ͸ͳ͘ʮ୭͕ݴ͔ͬͨ ݖҖ ʯ͔͠ݟͳ͍ ͨͱ͑͹ओޠΛΦϒδΣΫτࢦ޲ʹ͢Δͱʜ ݱ୅Χϧτ૊৫ͷಛ௃