2014年1月22日 星期三

[物件導向] 多載 觀念

多載(Overloading)

@:行為多載,方法多載(Method/Function Overloading)

  function名稱一樣,但傳入參數不一樣(型別不同or數量不同)
ex:
  void function(int i) {...}
  void function(string s) {...}
  void function(int i, string s) {...}

  是多型(Polymorphism)的其中一種。

------------------------------------------------
------------------------------------------------
------------------------------------------------

@:運算子多載(Operator Overloading)

  對於不同型別,運算子做的運算不一樣
ex:
  public static NEW_TYPE operator +(NEW_TYPE n1, NEW_TYPE n2)

  1。運算子多載主要使用在,使用者自己定義的型別,為自訂型別定義獨特的運算方式。
    此外我們也不能重新定義內建資料型別的運算方式,例如我們不能重新定義整數的加法。
  2。某些運算子可以多載,某些運算子不可以多載。
  3。運算子多載可以使程式碼簡練。

沒有留言: