※ 引述《TonyQ (骨頭)》之銘言:
: : 0
: : 是因為Base的default constructor都會把member attribute都設成0嗎?
: 應該說 int 如果沒給起始值,會自動給 0 .
: : 還有如果我不加入那個showData()
: : 錯的原因是因為這種Heterogeneous機制
: : Base a_base=new Derive();
: : a_base只能呼叫Base裡面的method嗎?
: 因為它把a_base當成 Base類別的 instance,
: 所以他只能使用Base類別裡的method,
: 它的可見範圍就只有Base和 super class (Object) 裡面的東西。
: 不過你也可以透過轉型的方式使用啦,
: 適不適用只端看你的使用需求。
: Base a_base;
: a_base=new Derive();
: ((Derive)a_base).showData();
: 這樣就不需要加上showData在Base內了
那在請問這跟Heterogeneous機制有沒有關係?
這是後面習題 看起來跟Heter...比較像
因為我的課本是寫Heterogeneous陣列機制
範例是這樣的
class Teacher extends Person
class Student extends Person
Person PerArr[]=new Person[3];
PerArr[0]=new Student();
PerArr[1]=new Teacher();
PerArr[2]=new Student();
不知道這習題是不是在考這個?
還有請問這機制有哪些重點阿?
看了半天
只知道
father class的Ref可以Ref to child class?
謝謝瞜
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.169.124.205
※ 編輯: walm20 來自: 218.169.124.205 (03/31 23:13)