Re: [問題]關於多形和超載 程式碼問題

看板java作者 (!H45)時間19年前 (2006/05/23 09:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《cscfish.bbs@bbs.wretch.cc (雙棲動物)》之銘言: ※ 引述《cscfish (雙棲動物)》之銘言: > ※ 引述《cscfish (雙棲動物)》之銘言: > > 就是為啥我計算出的數字都會是0 是哪要改嗎 > > 還有說要用多形和超載 那應該超載已經合多型條件了吧 > > 如果不合條件 那要怎麼改才可以呢 > > 因為getarea() 同時有計triangle circle rectangle的不同功能(多形) [...] > > ===================================================== > > public class calculate { 主函式並未展現多型的優點 > > public static void main(String args[]){ > > circle cir=new circle(3); > > triangle tri=new triangle(3,3); > > rectangle rec=new rectangle(3,3); > > System.out.print("\n" +cir.getarea()); > > System.out.print("\n" +cir.getcircum()); > > System.out.print("\n" +tri.getarea()); > > System.out.print("\n" +tri.getcircum()); > > System.out.print("\n" +rec.getarea()); > > System.out.print("\n" +rec.getcircum()); > > } > > } : 接著我要加一功能就是隨便選一個圖形 在計算其面積 : : 我改這樣不行 不知哪位大大可以在幫指點一下 : class calculate { : public static void main(String args[]){ : System.out.print("input integer of n"); : int n=Integer.parseInt(keyin.readLine());//讀取輸入並存取n變數 : : //int circle=1,rectangle=2,triangle=3; : int create(n) : { : switch(n) : { : case 1: : System.out.print("\n" +cir.getarea(3)); ^^^ 未宣告的變數名稱 : System.out.print("\n" +cir.getcircum(3)); : case 2: : System.out.print("\n" +tri.getarea(3,3)); : System.out.print("\n" +tri.getcircum(3,3)); : case 3: : System.out.print("\n" +rec.getarea(3,3)); : System.out.print("\n" +rec.getcircum(3,3)); : } : } : } : } 多型應該是像這樣: Shape shape = new Triangle(...); shape.getarea(...); shape.getcircum(...); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.207.15
文章代碼(AID): #14ScjJIx (java)
文章代碼(AID): #14ScjJIx (java)