OOP Basic
Transcript of OOP Basic
startup()shutdown()getOS()setOS()
- cpu- ram- disk- os
Laptop
InstallWindows()
WindowsInstallable
getOS()setOS()recovery()
Mac
getOS()setOS()fastBoot()openOpticalDrive()closeOpticalDrive()
- opticalDriveASUS
InstallOSX()
OSXInstallable
Encapsulation• 隱藏某個步驟,透過定義的⽅方式進⾏行存取
startup()shutdown()getOS()setOS()
- cpu- ram- disk- os
Laptop
InstallWindows()
WindowsInstallable
getOS()setOS()recovery()
Mac
getOS()setOS()fastBoot()openOpticalDrive()closeOpticalDrive()
- opticalDriveASUS
InstallOSX()
OSXInstallable
startup()shutdown()getOS()setOS()
- cpu- ram- disk- os
Laptop
InstallWindows()
WindowsInstallable
getOS()setOS()recovery()
Mac
getOS()setOS()fastBoot()openOpticalDrive()closeOpticalDrive()
- opticalDriveASUS
InstallOSX()
OSXInstallable
Inheritance• 擴充既有物件
startup()shutdown()getOS()setOS()
- cpu- ram- disk- os
Laptop
InstallWindows()
WindowsInstallable
getOS()setOS()recovery()
Mac
getOS()setOS()fastBoot()openOpticalDrive()closeOpticalDrive()
- opticalDriveASUS
InstallOSX()
OSXInstallable
Polymorphism• 根據不同類型做相對應的動作
startup()shutdown()getOS()setOS()
- cpu- ram- disk- os
Laptop
InstallWindows()
WindowsInstallable
getOS()setOS()recovery()
Mac
getOS()setOS()fastBoot()openOpticalDrive()closeOpticalDrive()
- opticalDriveASUS
InstallOSX()
OSXInstallable
• 吉娃娃是狗,⽐比特是狗
• 吉娃娃體型⼩小、⽐比特體型⼤大
• 吉娃娃神經質、⽐比特兇猛
• 吉娃娃跟⽐比特都會跑
• Rick是⼈人,⼈人跟狗同屬動物
• ⼈人會跑
• 狗有四隻腳,⼈人有兩隻腳
介⾯面• 定義於不同物件中、具相同特性的功能
startup()shutdown()getOS()setOS()
- cpu- ram- disk- os
Laptop
InstallWindows()
WindowsInstallable
getOS()setOS()recovery()
Mac
getOS()setOS()fastBoot()openOpticalDrive()closeOpticalDrive()
- opticalDriveASUS
InstallOSX()
OSXInstallable
modifier• public
• protected
• Visibility: C++(Inherit), Java(Inherit||Package)
• private
• static
• like global. share in same Class. (EX:Definition)