覆蓋”指的是重新定義基類的方法,使得該方法在派生類中有著不同的含義。“重載”指的是賦予方法名兩個定義,解析出來有不同的參數(shù)列表。重載可以存在于任何類中, 不管定義類時是否明確指定了基類。
下面解釋如何區(qū)分他們:“覆蓋”方法定義時,派生類中給出的新方法定義擁有完全一樣的參數(shù)數(shù)目及類型;另一方面,如果派生類的方法擁有不同的參數(shù)數(shù)目,或者如果某個參數(shù)類型不同于基類中的地,則派生類會擁有這兩人方法。這時就是“重載”。重載時也可以不涉及到基類,只要在類定義中同時給出兩個方法定義即可。
下面解釋如何區(qū)分他們:“覆蓋”方法定義時,派生類中給出的新方法定義擁有完全一樣的參數(shù)數(shù)目及類型;另一方面,如果派生類的方法擁有不同的參數(shù)數(shù)目,或者如果某個參數(shù)類型不同于基類中的地,則派生類會擁有這兩人方法。這時就是“重載”。重載時也可以不涉及到基類,只要在類定義中同時給出兩個方法定義即可。