首先你要理解OOP的思想,是
面向接口編程.
什么叫
面向接口編程呢?
假如你買了一個
多媒體設備,它給了你一個遙控,你想要知道的只是按什么按鈕,它會播放什么
而遙控里面是怎樣運行,還有屏幕里面怎么工作,你想知道嗎?
你完全不會去想了解.
那如果
多媒體設備需要更新,比如優化內部運行效率,
但是優化完了,遙控的按鈕不變,設備的所有操作方式都不變,按這個按鈕還是顯示相同的東西
那內部怎么變化你完全不需要在意.
這就是
面向接口編程.
無論類的內部怎么實現,它對外的接口不變,那它的使用方式就不會變
假設Main類要使用D類的一個draw的方法,
方法名叫 draw():void
不管draw里面是怎樣的,Main類里就是這樣用,
那么你就從這個接口出發,里面怎么實現是D類的事了,Main類只關心怎么用而已.
其他類要使用它,還是相同
這就大大減少了維護的成本.
因為如果D類出問題,Main類是完全不用改變的.
從上觀察,公開的接口越多,維護成本就越大.
維護就越麻煩.所以我們先寫接口,定死了公開的接口,
那維護就很方便,出錯也只是一個類的事,而不用同時修改多個協同類