rudy 過載方法 詳解

2021-07-02 04:21:01 字數 884 閱讀 8667

在子類裡,我們可以通過過載父類方法來改變實體的行為.

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 子類繼承...