#input #3็ซ ใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆๆŒ‡ๅ‘ - [[๐Ÿ—ƒ๏ธใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆๆŒ‡ๅ‘]]ใงๅฎŒๅ…จใซไธ–็•Œใ‚’ๅ†็พใฏใงใใชใ„ใ€‚ - [[๐Ÿ—ƒ๏ธ้–ขๆ•ฐๅž‹ใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐ]]ใฎๅฏพๆฏ”้–ขไฟ‚ใซใ‚ใ‚‹ใ‚‚ใฎใงใฏใชใ„ใ€‚ - ๆ‰‹็ถšใๅž‹ใงใ‚ใ‚‹ใจใ‹ใ€็Šถๆ…‹ใ‚’ใ‚‚ใฃใฆใ„ใ‚‹ใ“ใจใŒ[[๐Ÿ—ƒ๏ธใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆๆŒ‡ๅ‘]]ใงใฏใชใ„ใ€‚ ## 3-2 [[๐Ÿ—ƒ๏ธใ‚ซใƒ—ใ‚ปใƒซๅŒ–]] ### ใ‚ซใƒ—ใ‚ปใƒซๅŒ–ใงๅพ—ใ‚‰ใ‚Œใ‚‹ใƒกใƒชใƒƒใƒˆ - [[๐Ÿ—ƒ๏ธๅ‡้›†ๅบฆ]]ใ‚’้ซ˜ใ‚ใ‚‹ใ“ใจใŒใงใใ‚‹ใ€‚ - ไพ‹) ่‡ชๅ‹•่ปŠใฎๆ“ไฝœ - ใ‚จใƒณใ‚ธใƒณใฎ่ฉณ็ดฐใ‚’็Ÿฅใ‚‰ใชใใฆใ‚‚่‡ชๅ‹•่ปŠใ‚’ๅ‹•ใ‹ใ™ใ“ใจใŒใงใใ‚‹ - ใ‚จใƒณใ‚ธใƒณใฏ[[๐Ÿ—ƒ๏ธใ‚ซใƒ—ใ‚ปใƒซๅŒ–]]ใ•ใ‚ŒใŸใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใ‚’ๅ‹•ใ‹ใ™ใฎใฏใ€ๆœ€ๅฐ้™ใฎๆ“ไฝœใซใชใ‚‹ใ‚ˆใ†ใซใชใฃใฆใ„ใ‚‹ใ€‚ - [[๐Ÿ—ƒ๏ธใƒ‡ใƒกใƒ†ใƒซใฎๆณ•ๅ‰‡(ๆœ€ๅฐ็Ÿฅ่ญ˜ใฎๅŽŸๅ‰‡)]] - ๐Ÿค”ใ„ใคใ‚‚ใ€ใชใ‚“ใ ใฃใ‘ใ“ใ‚Œ๏ผŸใฃใฆใชใ‚‹ใ‚„ใคใ ใ€‚ - ใƒกใ‚ฝใƒƒใƒ‰ใƒใ‚งใƒผใƒณใ‚‚็ฆๆญขไบ‹้ …ใซใชใ‚‹ใ€‚ ```php:NGไพ‹ class CarOwner { public function drive() { $this->car->getEngine()->start } } ``` - "Tell, Don't Ask"ใฏๅŒๆง˜ใ€‚ ๆŠฝ่ฑกใ‚ฏใƒฉใ‚น ## 3-3 [[๐Ÿ—ƒ๏ธๅคšๆ…‹ๆ€ง(ใƒใƒชใƒขใƒผใƒ•ใ‚ฃใ‚บใƒ )]] - Interfaceใ‚’ไฝฟใฃใฆใ€ๅŒใ˜ใƒกใ‚ฝใƒƒใƒ‰ใ‚’ๆŒใคๅˆฅใƒกใ‚ฝใƒƒใƒ‰ใ‚’็ต„ใฟ่พผใ‚“ใ ใ‚Šใงใใ‚‹ใ€‚ - ifๆ–‡ใŒๆธ›ใ‚‰ใ›ใ‚‹ - [[๐Ÿ—ƒ๏ธใƒ€ใƒƒใ‚ฏใ‚ฟใ‚คใƒ”ใƒณใ‚ฐ]] ## 3-4 [[๐Ÿ—ƒ๏ธ็ถ™ๆ‰ฟ]] - ใ‚ณใƒผใƒ‰ใ‚’ๅ†ๅˆฉ็”จใ—ใŸใ„ใ ใ‘ใงใ‚ใ‚Œใฐ ใ€[[๐Ÿ—ƒ๏ธ็ถ™ๆ‰ฟ]]ใงใฏใชใ[[๐Ÿ—ƒ๏ธๅง”่ญฒ(ใ‚ณใƒผใƒ‰)]]ใ‚’ไฝฟใฃใŸๆ–นใŒใ„ใ„ใ€‚ - ไพ‹) ใ‚จใƒณใ‚ธใƒณใ‚’็ถ™ๆ‰ฟใ—ใฆ่‡ชๅ‹•่ปŠใ‚’ไฝœใฃใŸใ‚‰ใ€่พ›ใ„ใ€‚ - [[๐Ÿ—ƒ๏ธๅทฎๅˆ†ใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐ]]ใ ใ‘ใ‚’็›ฎ็š„ใซใ™ใ‚‹ใฎใงใ‚ใ‚Œใฐใ€[[๐Ÿ—ƒ๏ธ็ถ™ๆ‰ฟ]]ใฏไธ่ฆใ€‚ - [[๐Ÿ—ƒ๏ธๆŠฝ่ฑกใ‚ฏใƒฉใ‚น]]ใจ[[๐Ÿ—ƒ๏ธๅ…ท่ฑกใ‚ฏใƒฉใ‚น]]ใฎ้–ขไฟ‚ใ‚’่ฆ‹ๅ‡บใ›ใ‚‹ใ“ใจใŒๅคงๅˆ‡ใ€‚ - ๆŠฝ่ฑก: Pet - ๅ…ท่ฑก: cat, dog - is-a้–ขไฟ‚ - [[๐Ÿ—ƒ๏ธๆŠฝ่ฑกใ‚ฏใƒฉใ‚น]]ใ‚’่ฆ‹ใคใ‘ใ‚‰ใ‚ŒใŸใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฏๅฎ‰ๅฎšใ•ใ›ใ‚‹ใ“ใจใŒใงใใ‚‹ใฎใงใ€[[๐Ÿ—ƒ๏ธๅฎ‰ๅฎšไพๅญ˜ใฎๅŽŸๅ‰‡(SDP)]]ใฎๆ–นๅ‘ใฅใ‘ใซๅฝน็ซ‹ใคใ€‚ - ๐Ÿค” ่‡ชๅˆ†ใฏใ€ใ“ใฎ่ฆณ็‚นใŒใชใ‹ใฃใŸใ‹ใ‚‚ใ€‚[[๐Ÿ—ƒ๏ธ็ถ™ๆ‰ฟ]]ใฏ[[๐Ÿ—ƒ๏ธ็ตๅˆๅบฆ]]ใŒ้ซ˜ใใชใ‚‹ใŸใ‚ใ‚ˆใใชใ„ใจ็„ก้—‡ใซ่€ƒใˆใฆใ—ใพใฃใฆใ„ใŸใ€‚