[問題] 繼承時的存取限縮
大家好,小弟有個疑問
在 C++ 中有個繼承限縮的功能
例如:
class D: protected B{}; //把B的所有public變數、方法全部改寫成protected
或者是
class D: public B
{
void method() = delete; //刪除名稱為method方法
};
想詢問C#有沒有類似的語法呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.235.221
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1512204420.A.9E0.html
→
12/02 19:16,
6年前
, 1F
12/02 19:16, 1F
我正在寫一個與硬體溝通的class
但為了方便除錯,我就寫了一個虛擬硬體的class
只要是硬體輸入的部分
舉例來說: 檢查特定IO是 ON/OFF
我就先用 set 把想(ㄐㄧㄚˇ)要(ㄕㄜˋ)的狀態丟進去
然後用 get 讀出來
然後做對應的事情
接著我要寫真的與硬體溝通的class時
我直接繼承原本寫的虛擬class
然後想要把 set 改成 protected
這樣外面的人就看不到了,不會誤用
而我硬體檢查IO後,又可以使用以前寫的 set 做數值儲存
這是我的想法
因此我才在問有沒有類似的功能
※ 編輯: s4300026 (220.134.201.145), 12/03/2017 21:35:36
→
12/03 23:42,
6年前
, 2F
12/03 23:42, 2F
→
12/04 00:22,
6年前
, 3F
12/04 00:22, 3F
有想過,但我想把它做成 "元件",因此要提供外部呼叫的指令。
※ 編輯: s4300026 (60.250.235.221), 12/04/2017 07:54:21
推
12/04 09:46,
6年前
, 4F
12/04 09:46, 4F
→
12/04 09:46,
6年前
, 5F
12/04 09:46, 5F
QAQ
推
12/04 13:04,
6年前
, 6F
12/04 13:04, 6F
再包一層感覺很醜... 至於interface,我想不到要怎麼用...
→
12/04 13:40,
6年前
, 7F
12/04 13:40, 7F
不是debug用,是在真的沒有硬體的時候模擬用,就像是很多驅動軟體都有 "虛擬" 的
像是 虛擬的PCI卡、虛擬的NI卡、虛擬的IO... 等等等
※ 編輯: s4300026 (42.72.195.241), 12/07/2017 20:02:51
→
12/08 19:11,
6年前
, 8F
12/08 19:11, 8F
→
12/09 22:02,
6年前
, 9F
12/09 22:02, 9F