Re: [問題] java結構怎麼寫?

看板java作者 (痞子軍團團長)時間13年前 (2013/01/28 16:24), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
這實在是介於一個很尷尬階段的問題 ps. 引言先後順序有變動,但內容都沒改 ※ 引述《jerryozoz (Jerry)》之銘言: : 以前是學c,最近剛好要用java寫個程式 : 只是物件導向一直沒學好 : 想問一個用物件導向的例子 : 有人可以告訴這:ww種狀況應該用extends,implement,abstract嗎? : 抱歉 程式有點弱,謝謝囉~~ 我想,你隨便去找一本你覺得看起來像地球人寫的 Java 入門書 應該都會手把手地教你 OO 的東西 所以啥時候用 extend/implement 啥時候用 abstract class/interface 請自己去看書,看完不懂再來這問你看不懂的地方 還有,extend/implement 是動詞,abstract class/interface 是名詞 不應該把他們擺在一起講說什麼時候用 (當然要凹說哪些時候在 Java code 裡頭用這些「字」那也說得通啦) 我這邊是要解釋更之前的東西 : 現在我要設定好幾個班級,每個班級一個.java : 一個班級裡有好幾個人名 : 比如說 : a.java裡 string name[]={王小明,王中明,王大明} : b.java裡 string name[]={陳小美,陳大美} : 我希望我可以另外寫一個.java : 然後可以判斷出例如 王大明在哪一個.java裡面 : 並呼叫這個.java的一些function : 基本上班級的.java格式都一樣 「每個班級一個.java」這句話本身帶有一種很詭異的意思 我不太確定你是分不清 class/object 的差別,還是? 通常在 Java 的領域當中,.java 就是一個檔案 但是一個 .java 未必就是一個 class 也可以有好幾個 class(即使 public class)擠在同一個 .java 當中 好,先不管什麼 class 之類的鬼名詞 假設你的 a.java 是代表一年A班、b.java 是代表一年B班 然後你也發現了,其實「班級」的「規格」都一樣 只是老師不同、學生不同、課表不同 但是都會有導師、會有學生、都要上課 那麼,能不能比照 function/method 一樣,把相同的部份抽出來呢? 答案是,在 OO 的事情是沒問題的! 於是我們就抽出一組「規格」,規格裡頭定義了「資料」跟「行為」 也就是: 班級裡頭會包含: 導師(一個人類) 學生(數個人類) 班狗(一隻犬類) 教室(一個建築物) 班級會有這些行為: 上課(開始時間、結束時間) 下課(開始時間、結束時間) 家長會 是不是有某個學生(人類姓名) 而這個「規格」在 Java 裡頭就是「class」 「資料」就是 field/attribute、「行為」就是 method 然後實際上是用這個「規格」去組成一個實際的班級 class 班級 { //blahblah } //somewhere 班級 一年A班 = new 班級(); 一年A班.指定導師(孔子); // 這時候的「一年A班」就是一個 instance,或是說是一個 object 你先有這些想法,再來看那些入門書 或著是回頭看你問的問題 你就會知道我(們)看到 然後可以判斷出例如 王大明在哪一個.java裡面 會有多麼不知所措了... 另外你也可以去 #18lFux9V (OOAD) 如果你 C 結構化程式語言的概念很習慣 那或許這篇能幫助你踏進 OO 的世界 ==== 這次居然想不出故事...... [遮臉] -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.202.140

01/31 04:59, , 1F
班狗 XDD
01/31 04:59, 1F

03/31 20:16, , 2F
我也是java初學者但是我看到他文章也很囧
03/31 20:16, 2F
文章代碼(AID): #1H1ZM-Me (java)
文章代碼(AID): #1H1ZM-Me (java)