Re: [問題] 多形問題

看板java作者 (undeadj)時間13年前 (2012/11/01 15:09), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/6 (看更多)
其實最根本的問題就是你的2個類別寫壞了(先去真正了解abstract class的用途) 一般來說是不會出現 「在abstract class中宣告private member,又不在自己的類別內使用的情況」 如果這樣作,自己(abstract class)又不用,我真不知道是宣告來幹麻的 以你的例子來說,name和id就永遠都不會被用到(取得), 所以改為protected or public 才是比較正確的作法 不然就是自己(abstract class)去使用它(name , id) 而Set與Get對abstract class來說,就是脫褲子放屁,多此一舉。也完全破壞封裝性 : 但是想請問還有其他方法嗎?! : package aaa; : abstract class Person{ : private String name; : private int id; : abstract void printPerson(); : } : class Student extends Person{ : private double g1,g2,g3; : public Student(String name,int id,double g1,double g2,double g3){ : ://這裡我就不知道該怎麼打了,因為我式宣告成private,也以也不能打 ex. thid.id = id : this.g1=g1; this.g2=g2; this.g3=g3; : } : public void printPerson(){ : double average,sum; : sum=g1+g2+g3; : average=sum/3; : // 當然這裡也悲劇 : // System.out.println("姓名:"+name); : // System.out.println("編號:"+getID()); : System.out.println("總分:"+sum); : System.out.println("平均:"+average); : } : } : public class AAA { : /** : * @param args : */ : public static void main(String[] args) { : // TODO Auto-generated method stub : Student S=new Student("TWTRubiks",1100104105,96,99,60); : S.printPerson(); : } : } -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 27.243.203.126
文章代碼(AID): #1GaY0Jc3 (java)
討論串 (同標題文章)
文章代碼(AID): #1GaY0Jc3 (java)