課程
/后端開發
/PHP
/PHP-面向對象
第一個男人女人的例子能反映出接口有什么用? 在類里面又重新寫了一遍接口里面的方法 反映出什么問題了? 反映的是在浪費接口嗎?
2018-07-23
源自:PHP-面向對象 2-9
正在回答
我理解的面向接口編程,是只要我看接口就知道實現的內容。因為接口是類的模板,類是對象的模板;類要實現接口的所有方法,對象要實例化類,而項目是由一個個對象組成的。層級由高到低:接口->類->對象。
曾經,我也不能理解接口的作用,更可怕的是還有api接口這樣的概念混淆進來。
經過幾年實踐,我理解到的接口就是:傳統軟件設計中,上層代碼依賴于下層代碼,當下層出現變動時, 上層代碼也要相應變化,維護成本較高。
新的核心思想是上層定義接口,下層實現這個接口, 從而使得下層依賴于上層,降低耦合度,提高整個系統的彈性。
任何你想不通的,感覺是在做多余的事兒的思想,其實都可以用一句話概擴:這么做肯定是為了后面好改!
Kwok2c
_jinyi 回復 Kwok2c
_jinyi 回復 _jinyi
接口類應該是定了一個類的規范,就是說每個繼承這個接口的類都需要實現這個類中的方法,那么方法名就固定了,那么當很多人完成一個項目的時候,需要調用別人寫好的類的時候,就不需要去問別人某個功能的方法名是什么了?;蛘哒f,當你們都需要繼承這個類,比如男人和女人,他們都有eat和sleep的功能,那么有了接口類,就規范了你們寫出來的這兩個對象中實現功能的方法名是一樣的了,而不需要去相互協商。
舉報
從面相過程到面向對象,帶你深入理解面向對象編程思想,體驗編程的奧妙!
2 回答最后的實例化有點不解,這個跟正常的實例化一樣啊。還是我沒寫好?
1 回答實例化的問題
2 回答發現一個bug
1 回答在命名空間下的類,導入trait 如何實現單例模式實例化
2 回答不是還得輸入require嗎???還不是一樣
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-06-27
我理解的面向接口編程,是只要我看接口就知道實現的內容。因為接口是類的模板,類是對象的模板;類要實現接口的所有方法,對象要實例化類,而項目是由一個個對象組成的。層級由高到低:接口->類->對象。
2018-11-08
曾經,我也不能理解接口的作用,更可怕的是還有api接口這樣的概念混淆進來。
經過幾年實踐,我理解到的接口就是:傳統軟件設計中,上層代碼依賴于下層代碼,當下層出現變動時, 上層代碼也要相應變化,維護成本較高。
新的核心思想是上層定義接口,下層實現這個接口, 從而使得下層依賴于上層,降低耦合度,提高整個系統的彈性。
任何你想不通的,感覺是在做多余的事兒的思想,其實都可以用一句話概擴:這么做肯定是為了后面好改!
2018-08-01
接口類應該是定了一個類的規范,就是說每個繼承這個接口的類都需要實現這個類中的方法,那么方法名就固定了,那么當很多人完成一個項目的時候,需要調用別人寫好的類的時候,就不需要去問別人某個功能的方法名是什么了?;蛘哒f,當你們都需要繼承這個類,比如男人和女人,他們都有eat和sleep的功能,那么有了接口類,就規范了你們寫出來的這兩個對象中實現功能的方法名是一樣的了,而不需要去相互協商。