Submit Search
Upload
CH05:物件封裝
•
0 likes
•
328 views
Justin Lin
Follow
瞭解封裝觀念與實現 定義類別、建構式與方法 使用方法重載與不定長度引數 瞭解static成員
Read less
Read more
Technology
Report
Share
Report
Share
1 of 53
Download now
Download to read offline
Recommended
比特币概念与生态
比特币与区块链
比特币与区块链
haipome
ViaBTC矿池简介
Viabtc
Viabtc
haipome
区块链原理
区块链原理
区块链原理
Noah Chen
CloudConnect 云计算大会 China 2016 区块链技术创新应用 李立中 Email: kvllz@126.com
区块链技术创新应用
区块链技术创新应用
Hardway Hou
瞭解封裝觀念與實現 定義類別、建構式與方法 使用方法重載與不定長度引數 瞭解static成員
物件封裝
物件封裝
Justin Lin
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 05 章 - 物件封裝
Java SE 7 技術手冊投影片第 05 章 - 物件封裝
Justin Lin
保存,加载和程序状态
14 Saving Loading and Application States
14 Saving Loading and Application States
Tom Fan
瞭解封裝觀念與實現 定義類別、建構式與方法 使用方法重載與不定長度引數 瞭解static成員
Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝
Justin Lin
Recommended
比特币概念与生态
比特币与区块链
比特币与区块链
haipome
ViaBTC矿池简介
Viabtc
Viabtc
haipome
区块链原理
区块链原理
区块链原理
Noah Chen
CloudConnect 云计算大会 China 2016 区块链技术创新应用 李立中 Email: kvllz@126.com
区块链技术创新应用
区块链技术创新应用
Hardway Hou
瞭解封裝觀念與實現 定義類別、建構式與方法 使用方法重載與不定長度引數 瞭解static成員
物件封裝
物件封裝
Justin Lin
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 05 章 - 物件封裝
Java SE 7 技術手冊投影片第 05 章 - 物件封裝
Justin Lin
保存,加载和程序状态
14 Saving Loading and Application States
14 Saving Loading and Application States
Tom Fan
瞭解封裝觀念與實現 定義類別、建構式與方法 使用方法重載與不定長度引數 瞭解static成員
Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝
Justin Lin
認識 Spring Boot 認識 Spring Tool Suite 遷移微網誌至 Spring Boot
Ch14 簡介 Spring Boot
Ch14 簡介 Spring Boot
Justin Lin
區別程式庫與框架 逐步善用 Spring MVC 簡介 Thymeleaf 模版 使用 Spring Security
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin
使用 Gradle 結合 Gradle 與 IDE 認識相依注入 使用 Spring 核心
Ch12 Spring 起步走
Ch12 Spring 起步走
Justin Lin
寄送純文字郵件 寄送 HTML 郵件 寄送附檔郵件
Ch11 簡介 JavaMail
Ch11 簡介 JavaMail
Justin Lin
了解 Java EE 安全概念與名詞 使用容器基本驗證與表單驗 使用 HTTPS 保密資料傳輸
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
Justin Lin
了解 JDBC 架構 使用基本的 JDBC 透過 JNDI 取得DataSource 在 Web 應用程式整合資料庫
Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin
使用 Tag File 自訂標籤 使用 Simple Tag 自訂標籤 使用 Tag 自訂標籤
Ch08 自訂標籤
Ch08 自訂標籤
Justin Lin
了解何謂 JSTL 使用 JSTL 核心標籤庫 使用 JSTL 格式標籤庫 使用 JSTL XML 標籤庫 使用 JSTL 函式標籤庫
Ch07 使用 JSTL
Ch07 使用 JSTL
Justin Lin
了解 JSP 生命週期 使用 JSP 語法元素 使用 JSP 標準標籤 使用運算式語言(EL) 自訂 EL 函式
Ch06 使用 JSP
Ch06 使用 JSP
Justin Lin
了解 Servlet 生命週期 使用 ServletConfig 與ServletContext 使用 PushBuilder 各種傾聽器的使用 繼承 HttpFilter 實作過濾器
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
Justin Lin
了解會話管理基本原理 使用 Cookie 類別 使用 HttpSession 會話管理 了解容器會話管理原理
Ch04 會話管理
Ch04 會話管理
Justin Lin
取得請求參數與標頭 處理中文字元請求與回應 設定與取得請求範圍屬性 使用轉發、包含、重新導向
Ch03 請求與回應
Ch03 請求與回應
Justin Lin
開發環境準備與使用 了解 Web 應用程式架構 Servlet 撰寫與部署設定 了解 URI 模式對應 使用 web-fragement.xml
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
Justin Lin
認識 HTTP 基本特性 了解何為 URI 編碼 認識 Web 容器角色 了解 Servlet 與 JSP 的關係 認識 MVC/Model 2
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin
運用描述器 實作裝飾器 定義 meta 類別 使用相對匯入 泛型進階
14. 進階主題
14. 進階主題
Justin Lin
認識並行、平行與非同步 使用 threading 模組 使用 multiprocessing 模組 使用 concurrent.futures模組 運用 async、await 與 asyncio
13.並行、平行與非同步
13.並行、平行與非同步
Justin Lin
使用 pdb 模組除錯 對程式進行單元測試 使用 timeit 評測程式片段 使用 cProfile(profile)察看評測數據
12. 除錯、測試與效能
12. 除錯、測試與效能
Justin Lin
處理日期與時間 認識日誌的使用 運用規則表示式 管理檔案與目錄 URL 處理
11. 常用內建模組
11. 常用內建模組
Justin Lin
使用 pickle 與 shelve 認識 DB-API 2.0 使用 sqlite3 模組 處理 CSV、JSON、XML
10. 資料永續與交換
10. 資料永續與交換
Justin Lin
認識 hashable、iterable、orderable 對物件進行排序 認識群集架構 運用 collections 模組 運用 collections.abc 模組
9. 資料結構
9. 資料結構
Justin Lin
More Related Content
More from Justin Lin
認識 Spring Boot 認識 Spring Tool Suite 遷移微網誌至 Spring Boot
Ch14 簡介 Spring Boot
Ch14 簡介 Spring Boot
Justin Lin
區別程式庫與框架 逐步善用 Spring MVC 簡介 Thymeleaf 模版 使用 Spring Security
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin
使用 Gradle 結合 Gradle 與 IDE 認識相依注入 使用 Spring 核心
Ch12 Spring 起步走
Ch12 Spring 起步走
Justin Lin
寄送純文字郵件 寄送 HTML 郵件 寄送附檔郵件
Ch11 簡介 JavaMail
Ch11 簡介 JavaMail
Justin Lin
了解 Java EE 安全概念與名詞 使用容器基本驗證與表單驗 使用 HTTPS 保密資料傳輸
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
Justin Lin
了解 JDBC 架構 使用基本的 JDBC 透過 JNDI 取得DataSource 在 Web 應用程式整合資料庫
Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin
使用 Tag File 自訂標籤 使用 Simple Tag 自訂標籤 使用 Tag 自訂標籤
Ch08 自訂標籤
Ch08 自訂標籤
Justin Lin
了解何謂 JSTL 使用 JSTL 核心標籤庫 使用 JSTL 格式標籤庫 使用 JSTL XML 標籤庫 使用 JSTL 函式標籤庫
Ch07 使用 JSTL
Ch07 使用 JSTL
Justin Lin
了解 JSP 生命週期 使用 JSP 語法元素 使用 JSP 標準標籤 使用運算式語言(EL) 自訂 EL 函式
Ch06 使用 JSP
Ch06 使用 JSP
Justin Lin
了解 Servlet 生命週期 使用 ServletConfig 與ServletContext 使用 PushBuilder 各種傾聽器的使用 繼承 HttpFilter 實作過濾器
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
Justin Lin
了解會話管理基本原理 使用 Cookie 類別 使用 HttpSession 會話管理 了解容器會話管理原理
Ch04 會話管理
Ch04 會話管理
Justin Lin
取得請求參數與標頭 處理中文字元請求與回應 設定與取得請求範圍屬性 使用轉發、包含、重新導向
Ch03 請求與回應
Ch03 請求與回應
Justin Lin
開發環境準備與使用 了解 Web 應用程式架構 Servlet 撰寫與部署設定 了解 URI 模式對應 使用 web-fragement.xml
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
Justin Lin
認識 HTTP 基本特性 了解何為 URI 編碼 認識 Web 容器角色 了解 Servlet 與 JSP 的關係 認識 MVC/Model 2
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin
運用描述器 實作裝飾器 定義 meta 類別 使用相對匯入 泛型進階
14. 進階主題
14. 進階主題
Justin Lin
認識並行、平行與非同步 使用 threading 模組 使用 multiprocessing 模組 使用 concurrent.futures模組 運用 async、await 與 asyncio
13.並行、平行與非同步
13.並行、平行與非同步
Justin Lin
使用 pdb 模組除錯 對程式進行單元測試 使用 timeit 評測程式片段 使用 cProfile(profile)察看評測數據
12. 除錯、測試與效能
12. 除錯、測試與效能
Justin Lin
處理日期與時間 認識日誌的使用 運用規則表示式 管理檔案與目錄 URL 處理
11. 常用內建模組
11. 常用內建模組
Justin Lin
使用 pickle 與 shelve 認識 DB-API 2.0 使用 sqlite3 模組 處理 CSV、JSON、XML
10. 資料永續與交換
10. 資料永續與交換
Justin Lin
認識 hashable、iterable、orderable 對物件進行排序 認識群集架構 運用 collections 模組 運用 collections.abc 模組
9. 資料結構
9. 資料結構
Justin Lin
More from Justin Lin
(20)
Ch14 簡介 Spring Boot
Ch14 簡介 Spring Boot
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Ch12 Spring 起步走
Ch12 Spring 起步走
Ch11 簡介 JavaMail
Ch11 簡介 JavaMail
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
Ch09 整合資料庫
Ch09 整合資料庫
Ch08 自訂標籤
Ch08 自訂標籤
Ch07 使用 JSTL
Ch07 使用 JSTL
Ch06 使用 JSP
Ch06 使用 JSP
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch04 會話管理
Ch04 會話管理
Ch03 請求與回應
Ch03 請求與回應
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
14. 進階主題
14. 進階主題
13.並行、平行與非同步
13.並行、平行與非同步
12. 除錯、測試與效能
12. 除錯、測試與效能
11. 常用內建模組
11. 常用內建模組
10. 資料永續與交換
10. 資料永續與交換
9. 資料結構
9. 資料結構
CH05:物件封裝
1.
1
2.
物件封裝 學習目標 • 瞭解封裝觀念與實現 • 定義類別、建構式與方法 •
使用方法重載與不定長度引數 • 瞭解static成員 2
3.
封裝物件初始流程 • 管理儲值卡的應用程式 3
4.
• 定義建構式(Constructor) 4
5.
• 那麼你封裝了什麼? • 你用了Java的建構式語法,實現物件初始化 流程的封裝 5
6.
封裝物件操作流程 • 進行儲值的動作 6
7.
7
8.
• 定義方法(Method) 8
9.
9
10.
10
11.
• CashCard的使用者,現在可以這麼撰寫: • 你封裝了什麼呢?你封裝了儲值的流程 11
12.
12
13.
封裝物件內部資料 • 你「希望」使用者如下撰寫程式 • 使用者可以如下撰寫程式 13
14.
• 使用private關鍵字 14
15.
15
16.
16
17.
17
18.
18
19.
• 你封裝了什麼?封裝了類別私有資料,讓使 用者無法直接存取 • 必須透過你提供的操作方法,經過定義的流 程才有可能存取私有資料 •
封裝主要就是隱藏物件細節,將物件當作黑 箱進行操作 19
20.
public權限修飾 20
21.
• 如果沒有宣告權限修飾的成員,只有在相同 套件的類別程式碼中,才可以直接存取,也 就是「套件範圍權限」 21
22.
• 其他套件的類別程式碼,想存取某套件的類 別或物件成員 22
23.
關於建構式 • 與類別名稱同名,無需宣告傳回型態的方法 • 成員a與text會初始兩次 23
24.
24
25.
• 沒有撰寫任何建構式,編譯器會自動加入一 個無參數、內容為空的預設建構式 • 自行撰寫了建構式,編譯器就不會自動建立 預設建構式 25
26.
• 重載(Overload)建構式 26
27.
• 定義方法時也可以進行重載 • 編譯時期,會根據參數型態或個數,決定要 呼叫的對應方法 27
28.
• 也可根據參數列個數的不同來設計特定流程 實作 28
29.
• 自動裝箱、拆箱問題 29
30.
• 沒有裝箱動作前可符合引數個數與型態的方法 • 裝箱動作後可符合引數個數與型態的方法 •
嘗試有不定長度引數(稍後說明)並可符合引 數型態的方法 • 找不到合適的方法,編譯錯誤 30
31.
• 在建構式參數與物件資料成員同名時,可用 this加以區別 31
32.
32
33.
• 物件初始區塊 33
34.
• 物件資料成員上也可以宣告final 34
35.
35 • 每個Ball實例都有自己的radius與PI成員
36.
36 • static類別成員
37.
• 被宣告為static的成員,是將類別名稱作為 名稱空間 37
38.
• System.out、System.in呢? 38
39.
39
40.
• 在static方法或區塊不能出現this關鍵字 40
41.
41
42.
• 有些程式碼,想在位元碼載入後執行,可以 定義static區塊 42
43.
• import static語法 43
44.
44
45.
• 不定長度引數 45
46.
• 不定長度引數是編譯器蜜糖 46
47.
• 內部類別 47
48.
• 被宣告為static的內部類別,通常是將外部 類別當作名稱空間 48
49.
49
50.
• 方法中也可以宣告類別 50
51.
• C++傳值呼叫(Call by
value)、傳參呼叫( Call by reference) • Java當中只有傳值呼叫 51
52.
52
53.
53
Download now