Re: java大師請進

作者: smart0eddie (smart0eddie)   2024-06-06 21:18:48
interface 定義的是class 需要提供什麼function
class 實際怎麼做到那個功能不管
這樣你寫程式需要那些功能的時候只需要有一個對應interface 的物件
實際跑再根據實際需求給實際class
舉例來說
gif jpg PNG 的讀圖存圖方式都不一樣
但是可以有一個image 的interface 定義他們的class要提供read save功能
使用的程式只需要知道有個image interface 的物件
可以幫他讀圖 存圖
processImage(IImage image)
image.read()
...
不用對不同class寫好幾個一模一樣的版本
processPng(CPng image)
processJpg(CJpg image)
...
如果哪天多了一個kitune格式
也不用再所有程式撈出來多加
processKitune(CKitune image)
另外你寫好的class要給別人用
不想讓別人知道你實際怎麼做
程式碼可以給他interface
表示你的class提供這些function
作者: TNPSCG (TNP)   2024-06-06 21:19:00
大師
作者: JIWP (JIWP)   2024-06-06 21:20:00
大師
作者: sustainer123 (caster)   2024-06-06 21:27:00
感謝 我懂了 不過多一層還是感覺有一點怪

Links booklink

Contact Us: admin [ a t ] ucptt.com