什麼是CLASS?什麼是INTERFACE?
以下有清楚的解釋

所謂 interface 就是契約,只要你符合契約的 Class 就可以抽用,互換.你不用去管理面的實做,比如說你買了 Atx 的 Case,所以你能裝 Atx 的機板,管你是 Ause, Gigabody, MSI 都可以裝,雖然裡面的Layout 不一樣,或者是空白機板都可以裝.
而Abstract Class ,又稱部份實做,你要做一個符合 Interface 的 Class, 如果裡面有100種零件,而你要做100商品,一種方式是做 100商品,而每個商品在做 100個零件,另外一種方式是,你發現這100種商品,而這100商品中有80%是類似的,也就是80零件一樣,你就不用那麼麻煩一個一個作,你做一個完成8成的Class,因為還沒完全完成所以稱Abstract Class,隨後在既成這一個class,句續完成後面20%,單然如果你要做101商品,它不像其他的有80%相似度,你就要實作interface, 而不能繼承是80%類別在Override 不要的,所以Abstract Class也有繼承關係,一個實做interface 20%,繼承20%,完成至40%…,以後要做一個你要用的Class,找一個最接近你要的,再補兩三行Code 就可完成像百萬工程的功能了

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料