相信很多朋友在編程的時候都會想修改一下已經寫好的程序行為代碼,而最常見的方式就是通過子類來重寫父類的一些不滿足需求的方法。比如說下面這個例子。
給類打補丁
如果我們想新增或是修改對象的方法的話,最簡單的方式莫過於給類打個補丁了。結合上面的例子,如果我們想給我們自己的 Dog 類寫一個新的 howl 方法的話,我們可以定義一個新的 howl 函數,像下面的代碼一樣把它添加到我們的類中:
給類實例打補丁
單個對象也可以在不影響這個類的其他實例的情況下打補丁。但是還是有點小技巧的哦!先讓我們看看下面這個例子。
總結
運行中替換或者添加方法是非常有用的,比如說在單元測試中,有些負責和外界服務通信的函數就需要替換掉,方便測試。這個技巧不僅很常用,而且在你最終決定要修改代碼之前還可以保持代碼的可維護性,是一個非常重要的技巧。
