Re: [閒聊] 程式大師請進
看板Marginalman作者lturtsamuel (謹言慎行 拼relocate)時間4年前 (2021/11/11 19:14)推噓3(3推 0噓 11→)留言14則, 7人參與討論串14/38 (看更多)
※ 引述《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
那就隨便啦==
-----
Sent from JPTT on my Google Pixel 3 XL.
--
~$ sudo make love -j4
Error: 女朋友.c: 沒有此一檔案或目錄
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.26.95 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1636629247.A.D34.html
推
11/11 19:16,
4年前
, 1F
11/11 19:16, 1F
→
11/11 19:19,
4年前
, 2F
11/11 19:19, 2F
→
11/11 19:20,
4年前
, 3F
11/11 19:20, 3F
→
11/11 19:20,
4年前
, 4F
11/11 19:20, 4F
→
11/11 19:20,
4年前
, 5F
11/11 19:20, 5F
推
11/11 19:21,
4年前
, 6F
11/11 19:21, 6F
→
11/11 19:21,
4年前
, 7F
11/11 19:21, 7F
→
11/11 19:21,
4年前
, 8F
11/11 19:21, 8F
→
11/11 19:21,
4年前
, 9F
11/11 19:21, 9F
→
11/11 19:21,
4年前
, 10F
11/11 19:21, 10F
→
11/11 19:21,
4年前
, 11F
11/11 19:21, 11F
推
11/11 19:23,
4年前
, 12F
11/11 19:23, 12F
→
11/11 19:25,
4年前
, 13F
11/11 19:25, 13F
→
11/11 19:25,
4年前
, 14F
11/11 19:25, 14F
討論串 (同標題文章)