※ 引述《ZooseWu (動物園)》之銘言:
: 我有兩個class A 與 B
: 他們有80%的功能與函示名稱相似
: 然後我只有runtime的時候才知道物件身上有哪一個class
: 我有一個好方法可以簡單的呼叫 (A|B).function嗎
: 對了class不是我寫的
: 所以我沒辦法透過寫interface然後讓AB繼承這種方法
如果是rust的話至少有幾種方法
1. 用宏
2. 宣告自己的 trait 然後實作在別人的物件上
沒錯 rust 允許你在別人的物件上實作介面 超爽的啦
3. 寫一個 delegate class 包裝起來 然後實作 Deref<Target=T>
用自動轉型讓它看起來好像是多出來的方法一樣
不過這招好像被很多rust仔視為物件導向遺毒 建議是不要這樣
如果不是寫rust
那就隨便啦==