Re: [問題] private繼承問題

看板java作者 (良葛格)時間9年前 (2014/07/21 07:19), 9年前編輯推噓3(308)
留言11則, 5人參與, 最新討論串14/17 (看更多)
以下淺見… 有 A 與 B 兩個 Programmer… A 寫了一個類別,B 去繼承該類別,B 沒有原始碼,對 B 來說,他只會看到他繼承 該類別之後,能看到 public、protected 成員,該類別對 B 來說,其他都是黑箱 裏的東西,看不到,摸不著,而且就設計上來說,也不該去探知黑箱裏的東西… 對 A 來說,有東西設為 private,就是在跟別的 Programer 說,你看不到,你看不 到,你看不到 … XD 所以,就算 A 設計了個 public 的 getA,B 也只知道他繼承了個 getA 方法,不可 能知道也不該知道 getA 是不是取得了 private 的 field a,也許 getA 裏頭是取得 了 private 的 b,或者是算出了一個別的值給 B 也說不一定,沒有原始碼,繼承的 類別視為黑箱下,怎麼會曉得這種事呢? 物件導向的問題,有時用兩個人以上分工的角度來看,會比較清楚…XD -- 良葛格學習筆記 http://openhome.cc -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 117.19.118.88 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1405898364.A.F01.html ※ 編輯: JustinHere (117.19.118.88), 07/21/2014 07:22:24

07/21 07:49, , 1F
這種東西太基礎(封裝、繼承、多型)我也很懶的回 辛苦你了
07/21 07:49, 1F

07/21 09:18, , 2F
07/21 09:18, 2F

07/21 20:56, , 3F
是這樣沒錯 這也是為何要用private修飾的原因
07/21 20:56, 3F

07/21 20:57, , 4F
但這樣看起來 "繼承" 其實並不是繼承
07/21 20:57, 4F

07/21 20:58, , 5F
而是指我開放權限讓你存取的意思 那為何不用擴充解釋呢?
07/21 20:58, 5F

07/21 21:04, , 6F
繼承不是開放成員的存取權限 是直接獲得喔
07/21 21:04, 6F

07/21 22:53, , 7F
因為spec是人訂出來的 追根究底和鑽牛角尖是不一樣的事
07/21 22:53, 7F

07/21 22:55, , 8F
繼承字眼從C++開始就一直有了 大家也都習慣了 為何要用擴充?
07/21 22:55, 8F

07/21 22:57, , 9F
繼承在你的理解和別人不一樣 不代表他就不適合被使用
07/21 22:57, 9F

07/21 23:02, , 10F
100人有99人都覺得是這意思 那它就是這意思了 這很現實
07/21 23:02, 10F

07/22 00:06, , 11F
這讓我想到ant的target和gradle的task XD
07/22 00:06, 11F
文章代碼(AID): #1Jp4vyy1 (java)
討論串 (同標題文章)
文章代碼(AID): #1Jp4vyy1 (java)