在子類裡,我們可以通過過載父類方法來改變實體的行為.
ruby> class human
| def identify
| print "i'm a person.\n"
| end
| def train_toll(age)
| if age < 12
| print "reduced fare.\n";
| else
| print "normal fare.\n";
| end
| end
| end
nil
ruby> human.new.identify
i'm a person.
nil
ruby> class student1 student1.new.identify
i'm a student.
nil
如果我們只是想增強父類的 identify 方法而不是完全地替代它,就可以用 super.
ruby> class student2 student2.new.identify
i'm a human.
i'm a student too.
nil
super 也可以讓我們向原有的方法傳遞引數.這裡有時會有兩種型別的人...
ruby> class dishonest dishonest.new.train_toll(25)
reduced fare.
nil
ruby> class honest honest.new.train_toll(25)
normal fare.
nil
方法過載詳解
什麼是方法過載?我這有乙個需求,寫乙個計算2個數和的方法,這是乙個很簡單的方法如下 public int add int a,int b public double show double a double b public string show string a string b 這段 中定義了...
方法過載,方法重寫
方法過載 前提 必須在同一類中!才能過載 特點 這幾個方法要在乙個類中 這幾個方法名字要一樣 這幾個方法引數項不同 引數型別不同 主要就是 引數列表不能相同 順序可以不同 方法的重寫 前提是繼承關係 訪問修飾符要比繼承之前的大,返回值型別相同,方法名相同,引數列表相同,但方法體不同,稱為方法的重寫 ...
方法過載 方法重寫
同乙個類中,方法名一致,但引數 數量 型別 順序 不一樣。數量 public a 與public a int a 型別 public a int a 與public a string a 順序 public a string a,int a 與public a int a,string a 子類繼承...