Re: java大師請進

作者: Rushia (みけねこ的鼻屎)   2024-06-06 21:47:55
※ 引述《sustainer123 (caster )》之銘言:
: 想問一下接口這概念
: 老實說我不太懂這東西的用途還有意義
: 我感覺他跟class是差不多的東西
: 另外有沒有推薦的java入門書籍
: 我感覺從最基本的東西開始學起比較快
就把東西抽象阿
物件導向的東西
為了減少重複造輪子我們常常會用繼承的方式來減少重複代碼的攥寫
但是繼承很笨重如果你的基類修改了 所有繼承他的類都要改
舉例來說:
1.有一個類別Car被100多個類別繼承
2.Car car = new Car() 出現在依賴他的類別100多次
如果:
1.你要改Car的功能,很容易對繼承他的類產生不必要的影響
2.如果你的建構子 Car() 要改成 Car(Tire tire) 有 new Car() 出現的地方都要改
你要改100多次
所以:
1.我們不用繼承而是用組合的方式
2.我們的依賴不new具體類而是把他當成一個介面,透過建構子或SETTER讓類去自己決定
要用哪些依賴
作者: JIWP (JIWP)   2024-06-06 21:49:00
剩姆咪不會物件導向了
作者: sustainer123 (caster)   2024-06-06 21:51:00
就 原本我理解interface跟class差不多兩個我都理解成python的class 所以想說用class就好
作者: Rushia (みけねこ的鼻屎)   2024-06-06 21:54:00
不一樣interface不用實作你可以只定義方法返回什麼和需要什麼參數 python本來就不是物件導向語言 不太能參考
作者: SecondRun (雨夜琴聲)   2024-06-06 21:55:00
兩個好處吧 一個是可以抽換 寫測試方便
作者: sustainer123 (caster)   2024-06-06 21:55:00
我當年修oop就用python學 感覺要重新研究 哭了
作者: SecondRun (雨夜琴聲)   2024-06-06 21:56:00
一個是減少改動 延伸就是DI時再決定注入什麼
作者: Ceelo (hakkaman)   2024-06-06 21:56:00
之前用c++寫到昏頭 指標指來指去類別繼承到最後都忘記原本是什麼了
作者: Rushia (みけねこ的鼻屎)   2024-06-06 21:57:00
抽象就是讓改動更彈性 更容易符合開放封閉原則
作者: Ceelo (hakkaman)   2024-06-06 21:57:00
中文有推薦復習的教材嗎
作者: Rushia (みけねこ的鼻屎)   2024-06-06 21:59:00
我文章那本有中文書 網路還有康版
作者: sustainer123 (caster)   2024-06-06 22:00:00
我明天去圖書館借一下

Links booklink

Contact Us: admin [ a t ] ucptt.com