[問題] 不太懂怎麼把母class轉型成子class

看板java作者 (沒有存在感的人)時間10年前 (2014/11/23 06:15), 10年前編輯推噓2(2010)
留言12則, 2人參與, 最新討論串1/2 (看更多)
class Oeuvre { // Completer la classe Oeuvre ici private String titre; private String langue = "francais"; private Auteur auteur; public Oeuvre(String t, Auteur a, String l) { this.titre = t; this.auteur = a; this.langue = l; } } class Exemplaire extends Oeuvre { public Exemplaire (Oeuvre o){ super(o.getTitre(),o.getAuteur(),o.getLangue()); } } 請問有沒有比較簡單的方法可以用建構子Exemplaire把Oeuvre轉成Exemplaire? 好像可以把Oeuvre o直接變成這個Exemplaire的reference? 請問要怎麼做呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 90.27.4.126 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1416694533.A.667.html ※ 編輯: wtchen (90.27.4.126), 11/23/2014 06:29:18

11/23 07:58, , 1F
父類別轉子類別這職種沒辦法轉 因為子類別有的東西父類別
11/23 07:58, 1F

11/23 07:58, , 2F
不見得有
11/23 07:58, 2F

11/23 08:00, , 3F
實際上使用 直接用Exemplaire的預設建構子 產生物件後
11/23 08:00, 3F

11/23 08:00, , 4F
就可以當作Exemplaire使用了
11/23 08:00, 4F

11/23 08:01, , 5F
但前提是要使用的父類別的值或方法 要改成protected
11/23 08:01, 5F

11/23 08:01, , 6F
我看我回文好了 比較清楚
11/23 08:01, 6F

11/23 08:17, , 7F
如果可以 請你把部分程式貼上來 指出問題點 比較容易理
11/23 08:17, 7F

11/23 08:17, , 8F
解你的問題點 看起來像是你只有父類別物件想要硬轉成子類
11/23 08:17, 8F

11/23 08:17, , 9F
別,但是reference又要相同 是嗎?
11/23 08:17, 9F

11/23 14:13, , 10F
不能轉,父類別物件不是子類別物件
11/23 14:13, 10F

11/23 14:14, , 11F
只能new新的子類別物件,把父類別物件有的field複製過去
11/23 14:14, 11F

11/23 14:14, , 12F
你現在的作法不就是這樣了?
11/23 14:14, 12F
文章代碼(AID): #1KSGi5Pd (java)
文章代碼(AID): #1KSGi5Pd (java)