我正在學習C#,但我不明白什麼是方法隱藏的用法?我搜索了網頁,但我仍然不明白它是如何工作的。任何人都可以解釋它如何工作?方法隱藏的用途是什麼?
-4
A
回答
0
方法隱藏指Information Hiding這通常是在編程中使用的一個非常基本的圖案。基本上你通常希望實現組件和實現細節與接口的完全分離。
+1
我不認爲他指的封裝,我認爲他在談論[這]對谷歌非常熱門結果(https://msdn.microsoft.com/en-us/library/435f1dw2.aspx)。 – dcastro
1
方法隱藏是用於替代與在子類中的新功能的基類的非虛擬方法的技術。它有一些令人討厭的行爲,可以很容易地把人趕出去。要通過舉例的方式說明:
class BaseClass
{
public void Foo()
{
Console.WriteLine("BaseClass");
}
}
class ChildClass : BaseClass
{
public new void Foo()
{
Console.WriteLine("ChildClass");
}
}
ChildClass obj1 = new ChildClass();
BaseClass obj2 = obj1;
obj1.Foo(); // Prints "ChildClass"
obj2.Foo(); // Prints "BaseClass"
如果Foo
已宣佈virtual
,new
就沒有必要和兩個obj1.Foo()
和obj2.Foo()
會印在上面的例子中ChildClass
。
你需要知道的唯一的另一件事是,使用繼承的這些日子通常是不被接受的(搜索「繼承是邪惡的」還是「組合vs繼承」), 。因此,您不必擔心隱藏方法(除非有人用舊的和/或錯誤的代碼將它施加給您)。
相關問題
- 1. SPHttpUtility.NoEncode方法的用途是什麼?
- 2. QAbstractButton :: checkStateSet()方法的用途是什麼?
- 3. ob_get_length()方法的用途是什麼?
- 4. awaitTermination()方法的用途是什麼?
- 5. _createElement方法的用途是什麼?
- 6. Control.GetPreferredSize方法的用途是什麼?
- 7. DISPOSE方法的用途是什麼?
- 8. 方法attribute-target的用途是什麼?
- 9. System.Reflection.RuntimeReflectionExtensions中方法的用途是什麼?
- 10. 成員隱藏,什麼是它的實際用途
- 11. 什麼是禁用和隱藏UIButton/UIBarButtonItem的理想方法?
- 12. 爲什麼叫做「方法隱藏」?
- 13. 爲什麼我的Static方法隱藏我的實例方法?
- 14. 在Python中,爲什麼contains()是str對象的隱藏方法?
- 15. 在android中隱藏圖像的最佳方法是什麼?
- 16. 隱藏多段線的正確方法是什麼?
- 17. 什麼是大量隱藏域的替代方法?
- 18. 隱藏div onclick並存儲cookie的最佳方法是什麼?
- 19. 處理可見性=隱藏的React.js方法是什麼?
- 20. 什麼是「隱藏常量」?
- 21. layout.xml的用途是什麼?
- 22. PhoneGap的用途是什麼?
- 23. AtomicReferenceArray的用途是什麼?
- 24. felix.xml的用途是什麼?
- 25. WSDL的用途是什麼?
- 26. RegisterFmxClasses的用途是什麼?
- 27. FXCollections.observableArrayList的用途是什麼?
- 28. config.assets.precompile的用途是什麼?
- 29. Rake的用途是什麼?
- 30. _dl_sysinfo_int80的用途是什麼?
你的意思是:「它是如何工作」或「你爲什麼要這麼做?」 – Cadburry
我問任何用途有或沒有 –
確定你可以給我的任何引用鏈接? –