# JAVA Object 以遊戲概念解釋 ###### tags: `Java` --- :::warning 寫在前面:以下為自己腦補Object的概念,如果有錯誤歡迎告訴我XD ::: ## Object 利用遊戲人物的概念 ### 物件(object) = 人物 ### 屬性(property) = 人物屬性 ``` 身高、體重、基本資訊, 還有這個人物的種族、會什麼技能等等。 ``` ### 類別(Class) = 種族 ``` 看你是矮人族、精靈族或巨人族, 你都有自己天生的種族(main), 種族只能一種,混血也算一個種族XD ``` 類別(Class)的注意事項: 1. 類別名稱建議以大寫英文字母為字首。 2. 成員存取修飾子有:private(私有成員)、public(公開成員)、protected (保護成員)及預設階層(default即是不宣告)四種。 其中private私有成員只供自身類別內部成員存取。public公開成員不受任何限制,可供外界直接存。 ``` private = 公會頻道 public = 公會布告欄ro公開資源 ``` 3. 類別存取修飾子有public與預設階層(不宣告)兩種,屬於public的類別可在不同套件使用。若為預設階層,只能用在相同套件。 4. 一個 *.java程式檔可以定義多個類別,但只能宣告一個public的類別,且public的類別名稱須和程式檔名相同。 ``` 你可以學會別的種族的類別屬性技能, 但是無法改變自己天生的種族 (有main的那個Class) ``` ## 封裝(Package) = 遊戲世界 每個package裡面都有各自不同的設定與類別屬性,最簡單的概念就是打包好帶走的意思XD --- ## 建立JAVA物件Object ### 宣告+物件建立一次搞定: <span class="code1">類別名稱 物件名稱 = new 類別名稱();</span> ex: Ccar car2 = new Ccar(); 也可以先宣告再建立物件,分成二行寫: ex: Ccar car2; car2 = new Ccar(); ## 存取公開的類別屬性 ### 用「點」呼叫 要存取公開屬性,只要在自訂名稱後面加一個<span class="code1"> . </span>就可以了~ ex: car1.gas = 40; 方法(技能)也可以拿來存取使用: ex: car1.maxDistance(); 也可以直接指派給變數並設定值給變數(自訂變化技能): ex: ouble distance = car1.distance(20); --- ## 封裝資料(package) 就是把人物打包帶走XD --- ## 多載(Overload)類別內相同方法多用 簡單的說就是**同一個技能**可以砍怪砍柴砍你想砍的東西,只要「值」符合技能條件就會觸發XDD --- <span class="code1"></span> <style> h2 { color: #2383B8; } h3 { color: #1AA340; } h4 { color: white; background-color: #2383B8; padding:8px; } .code1 { padding: 2px 4px; font-size: 90%; color: #c7254e; background-color: #f9f2f4; border-radius: 4px; font-family:'Fira Code'; } .code { padding: 2px 4px; font-size: 90%; font-family:'Fira Code'; } </style>